Function at 0x43edc0
Capabilities:
Link many functions at runtime

Disassembly:
push ecx
push edi
xor edi, edi
cmp dword [ecx + 0x3c], edi
mov dword [esp + 4], ecx
je 0x43edd2
xor eax, eax
pop edi
pop ecx
ret
cmp dword [0x4594d8], edi
je 0x43ede5
push 0x4594c0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x459858], edi
push ebx
push ebp
push esi
jne 0x43f798
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.libeay32.dll
call ebp
cmp eax, edi
mov dword [0x459860], eax
jne 0x43ee25
mov eax, dword [0x45985c]
cmp eax, edi
je 0x43ee1a
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x45985c], edi
jmp 0x43f729
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.BIO_ctrl_pending
push eax
xor bl, bl
call esi
cmp eax, edi
mov dword [0x45971c], eax
jne 0x43ee40
mov bl, 1
mov eax, dword [0x459860]
push str.BIO_ctrl_pending
push eax
call esi
cmp eax, edi
mov dword [0x45971c], eax
jne 0x43ee58
mov bl, 1
mov ecx, dword [0x459860]
push str.BIO_read
push ecx
call esi
cmp eax, edi
mov dword [0x459774], eax
jne 0x43ee71
mov bl, 1
mov edx, dword [0x459860]
push str.BIO_ctrl
push edx
call esi
cmp eax, edi
mov dword [0x459760], eax
jne 0x43ee8a
mov bl, 1
mov eax, dword [0x459860]
push str.BIO_write
push eax
call esi
cmp eax, edi
mov dword [0x4597f4], eax
jne 0x43eea2
mov bl, 1
mov ecx, dword [0x459860]
push str.BIO_ctrl_get_write_guarantee
push ecx
call esi
cmp eax, edi
mov dword [0x45974c], eax
jne 0x43eebb
mov bl, 1
mov edx, dword [0x459860]
push str.BIO_new_bio_pair
push edx
call esi
cmp eax, edi
mov dword [0x4597b4], eax
jne 0x43eed4
mov bl, 1
mov eax, dword [0x459860]
push str.BIO_new
push eax
call esi
cmp eax, edi
mov dword [0x4597d8], eax
jne 0x43eeec
mov bl, 1
mov ecx, dword [0x459860]
push str.BIO_free
push ecx
call esi
cmp eax, edi
mov dword [0x45972c], eax
jne 0x43ef05
mov bl, 1
mov edx, dword [0x459860]
push str.i2t_ASN1_OBJECT
push edx
call esi
cmp eax, edi
mov dword [0x459840], eax
jne 0x43ef1e
mov bl, 1
mov eax, dword [0x459860]
push str.OBJ_obj2nid
push eax
call esi
cmp eax, edi
mov dword [0x459830], eax
jne 0x43ef36
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_NAME_ENTRY_get_object
push ecx
call esi
cmp eax, edi
mov dword [0x459764], eax
jne 0x43ef4f
mov bl, 1
mov edx, dword [0x459860]
push str.X509_NAME_get_entry
push edx
call esi
cmp eax, edi
mov dword [0x459828], eax
jne 0x43ef68
mov bl, 1
mov eax, dword [0x459860]
push str.X509_NAME_entry_count
push eax
call esi
cmp eax, edi
mov dword [0x45982c], eax
jne 0x43ef80
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_get_subject_name
push ecx
call esi
cmp eax, edi
mov dword [0x4597cc], eax
jne 0x43ef99
mov bl, 1
mov edx, dword [0x459860]
push str.X509_get_issuer_name
push edx
call esi
cmp eax, edi
mov dword [0x459714], eax
jne 0x43efb2
mov bl, 1
mov eax, dword [0x459860]
push str.OBJ_nid2sn
push eax
call esi
cmp eax, edi
mov dword [0x459720], eax
jne 0x43efca
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_NAME_ENTRY_get_data
push ecx
call esi
cmp eax, edi
mov dword [0x4596f4], eax
jne 0x43efe3
mov bl, 1
mov edx, dword [0x459860]
push str.X509_STORE_CTX_set_error
push edx
call esi
cmp eax, edi
mov dword [0x459788], eax
jne 0x43effc
mov bl, 1
mov eax, dword [0x459860]
push str.X509_digest
push eax
call esi
cmp eax, edi
mov dword [0x459754], eax
jne 0x43f014
mov bl, 1
mov ecx, dword [0x459860]
push str.EVP_sha1
push ecx
call esi
cmp eax, edi
mov dword [0x45980c], eax
jne 0x43f02d
mov bl, 1
mov edx, dword [0x459860]
push str.X509_STORE_CTX_get_current_cert
push edx
call esi
cmp eax, edi
mov dword [0x459700], eax
jne 0x43f046
mov bl, 1
mov eax, dword [0x459860]
push str.X509_STORE_CTX_get_error
push eax
call esi
cmp eax, edi
mov dword [0x459728], eax
jne 0x43f05e
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_free
push ecx
call esi
cmp eax, edi
mov dword [0x4597a0], eax
jne 0x43f077
mov bl, 1
mov edx, dword [0x459860]
push str.X509_get_pubkey
push edx
call esi
cmp eax, edi
mov dword [0x4597d4], eax
jne 0x43f090
mov bl, 1
mov eax, dword [0x459860]
push str.BN_num_bits
push eax
call esi
cmp eax, edi
mov dword [0x4597a4], eax
jne 0x43f0a8
mov bl, 1
mov ecx, dword [0x459860]
push str.EVP_PKEY_free
push ecx
call esi
cmp eax, edi
mov dword [0x4597c0], eax
jne 0x43f0c1
mov bl, 1
mov edx, dword [0x459860]
push str.X509_STORE_CTX_get_ex_data
push edx
call esi
cmp eax, edi
mov dword [0x4597a8], eax
jne 0x43f0da
mov bl, 1
mov eax, dword [0x459860]
push str.X509_NAME_oneline
push eax
call esi
cmp eax, edi
mov dword [0x45984c], eax
jne 0x43f0f2
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_verify_cert_error_string
push ecx
call esi
cmp eax, edi
mov dword [0x45979c], eax
jne 0x43f10b
mov bl, 1
mov edx, dword [0x459860]
push str.X509_STORE_CTX_get_error_depth
push edx
call esi
cmp eax, edi
mov dword [0x459818], eax
jne 0x43f124
mov bl, 1
mov eax, dword [0x459860]
push str.ERR_get_error
push eax
call esi
cmp eax, edi
mov dword [0x459768], eax
jne 0x43f13c
mov bl, 1
mov ecx, dword [0x459860]
push str.ERR_error_string
push ecx
call esi
cmp eax, edi
mov dword [0x4597c8], eax
jne 0x43f155
mov bl, 1
mov edx, dword [0x459860]
push str.ASN1_STRING_to_UTF8
push edx
call esi
cmp eax, edi
mov dword [0x459784], eax
jne 0x43f16e
mov bl, 1
mov eax, dword [0x459860]
push str.CRYPTO_free
push eax
call esi
cmp eax, edi
mov dword [0x459838], eax
jne 0x43f186
mov bl, 1
mov ecx, dword [0x459860]
push str.RSA_generate_key
push ecx
call esi
cmp eax, edi
mov dword [0x459738], eax
jne 0x43f19f
mov bl, 1
mov edx, dword [0x459860]
push str.X509_set_version
push edx
call esi
cmp eax, edi
mov dword [0x459844], eax
jne 0x43f1b8
mov bl, 1
mov eax, dword [0x459860]
push str.X509_gmtime_adj
push eax
call esi
cmp eax, edi
mov dword [0x45983c], eax
jne 0x43f1d0
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_set_pubkey
push ecx
call esi
cmp eax, edi
mov dword [0x459824], eax
jne 0x43f1e9
mov bl, 1
mov edx, dword [0x459860]
push str.X509_NAME_add_entry_by_txt
push edx
call esi
cmp eax, edi
mov dword [0x45975c], eax
jne 0x43f202
mov bl, 1
mov eax, dword [0x459860]
push str.X509_NAME_add_entry_by_NID
push eax
call esi
cmp eax, edi
mov dword [0x4597ec], eax
jne 0x43f21a
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_set_issuer_name
push ecx
call esi
cmp eax, edi
mov dword [0x4597c4], eax
jne 0x43f233
mov bl, 1
mov edx, dword [0x459860]
push str.X509_sign
push edx
call esi
cmp eax, edi
mov dword [0x4597fc], eax
jne 0x43f24c
mov bl, 1
mov eax, dword [0x459860]
push str.EVP_PKEY_new
push eax
call esi
cmp eax, edi
mov dword [0x45978c], eax
jne 0x43f264
mov bl, 1
mov ecx, dword [0x459860]
push str.EVP_PKEY_assign
push ecx
call esi
cmp eax, edi
mov dword [0x4597e0], eax
jne 0x43f27d
mov bl, 1
mov edx, dword [0x459860]
push str.X509_new
push edx
call esi
cmp eax, edi
mov dword [0x459848], eax
jne 0x43f296
mov bl, 1
mov eax, dword [0x459860]
push str.ASN1_INTEGER_set
push eax
call esi
cmp eax, edi
mov dword [0x4597dc], eax
jne 0x43f2ae
mov bl, 1
mov ecx, dword [0x459860]
push str.X509_get_serialNumber
push ecx
call esi
cmp eax, edi
mov dword [0x4597f8], eax
jne 0x43f2c7
mov bl, 1
mov edx, dword [0x459860]
push str.PEM_ASN1_write_bio
push edx
call esi
cmp eax, edi
mov dword [0x459778], eax
jne 0x43f2e0
mov bl, 1
mov eax, dword [0x459860]
push str.i2d_X509
push eax
call esi
cmp eax, edi
mov dword [0x459744], eax
jne 0x43f2f8
mov bl, 1
mov ecx, dword [0x459860]
push str.BIO_s_mem
push ecx
call esi
cmp eax, edi
mov dword [0x459758], eax
jne 0x43f311
mov bl, 1
mov edx, dword [0x459860]
push str.i2d_PrivateKey
push edx
call esi
cmp eax, edi
mov dword [0x459704], eax
je 0x43f32c
test bl, bl
je 0x43f34c
mov eax, dword [0x45985c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x459860]
mov dword [0x45985c], edi
push ecx
jmp 0x43f721
push str.ssleay32.dll
call ebp
cmp eax, edi
mov dword [0x45985c], eax
jne 0x43f375
mov eax, dword [0x459860]
cmp eax, edi
je 0x43f723
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x43f723
push str.SSL_state_string_long
push eax
call esi
cmp eax, edi
mov dword [0x459708], eax
jne 0x43f388
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_state
push edx
call esi
cmp eax, edi
mov dword [0x4597e4], eax
jne 0x43f3a1
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_set_info_callback
push eax
call esi
cmp eax, edi
mov dword [0x45976c], eax
jne 0x43f3b9
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_set_bio
push ecx
call esi
cmp eax, edi
mov dword [0x45981c], eax
jne 0x43f3d2
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_set_connect_state
push edx
call esi
cmp eax, edi
mov dword [0x459808], eax
jne 0x43f3eb
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_set_session
push eax
call esi
cmp eax, edi
mov dword [0x4597b8], eax
jne 0x43f403
mov bl, 1
mov ecx, dword [0x45985c]
push str.BIO_f_ssl
push ecx
call esi
cmp eax, edi
mov dword [0x459780], eax
jne 0x43f41c
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_new
push edx
call esi
cmp eax, edi
mov dword [0x459804], eax
jne 0x43f435
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_CTX_new
push eax
call esi
cmp eax, edi
mov dword [0x459790], eax
jne 0x43f44d
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSLv23_method
push ecx
call esi
cmp eax, edi
mov dword [0x45970c], eax
jne 0x43f466
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_load_error_strings
push edx
call esi
cmp eax, edi
mov dword [0x4597b0], eax
jne 0x43f47f
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_library_init
push eax
call esi
cmp eax, edi
mov dword [0x459798], eax
jne 0x43f497
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_CTX_free
push ecx
call esi
cmp eax, edi
mov dword [0x459850], eax
jne 0x43f4b0
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_free
push edx
call esi
cmp eax, edi
mov dword [0x459730], eax
jne 0x43f4c9
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_get_error
push eax
call esi
cmp eax, edi
mov dword [0x459710], eax
jne 0x43f4e1
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_shutdown
push ecx
call esi
cmp eax, edi
mov dword [0x45973c], eax
jne 0x43f4fa
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_get_shutdown
push edx
call esi
cmp eax, edi
mov dword [0x459770], eax
jne 0x43f513
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_alert_type_string_long
push eax
call esi
cmp eax, edi
mov dword [0x4597e8], eax
jne 0x43f52b
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_alert_desc_string_long
push ecx
call esi
cmp eax, edi
mov dword [0x459740], eax
jne 0x43f544
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_CTX_set_verify
push edx
call esi
cmp eax, edi
mov dword [0x4596fc], eax
jne 0x43f55d
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_CTX_get_cert_store
push eax
call esi
cmp eax, edi
mov dword [0x459750], eax
jne 0x43f575
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_get_verify_result
push ecx
call esi
cmp eax, edi
mov dword [0x459800], eax
jne 0x43f58e
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_get_peer_certificate
push edx
call esi
cmp eax, edi
mov dword [0x4597d0], eax
jne 0x43f5a7
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_get_version
push eax
call esi
cmp eax, edi
mov dword [0x4597bc], eax
jne 0x43f5bf
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_get_current_cipher
push ecx
call esi
cmp eax, edi
mov dword [0x459814], eax
jne 0x43f5d8
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_CIPHER_get_name
push edx
call esi
cmp eax, edi
mov dword [0x4596f8], eax
jne 0x43f5f1
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_CIPHER_get_version
push eax
call esi
cmp eax, edi
mov dword [0x4597f0], eax
jne 0x43f609
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push ecx
call esi
cmp eax, edi
mov dword [0x459834], eax
jne 0x43f622
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_CTX_load_verify_locations
push edx
call esi
cmp eax, edi
mov dword [0x459794], eax
jne 0x43f63b
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_ctrl
push eax
call esi
cmp eax, edi
mov dword [0x459734], eax
jne 0x43f653
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_set_accept_state
push ecx
call esi
cmp eax, edi
mov dword [0x459810], eax
jne 0x43f66c
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_CTX_use_PrivateKey_file
push edx
call esi
cmp eax, edi
mov dword [0x459718], eax
jne 0x43f685
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_CTX_use_certificate_file
push eax
call esi
cmp eax, edi
mov dword [0x45977c], eax
jne 0x43f69d
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_CTX_check_private_key
push ecx
call esi
cmp eax, edi
mov dword [0x459820], eax
jne 0x43f6b6
mov bl, 1
mov edx, dword [0x45985c]
push str.SSL_CTX_set_default_passwd_cb_userdata
push edx
call esi
cmp eax, edi
mov dword [0x459748], eax
jne 0x43f6cf
mov bl, 1
mov eax, dword [0x45985c]
push str.SSL_CTX_set_default_passwd_cb
push eax
call esi
cmp eax, edi
mov dword [0x459724], eax
jne 0x43f6e7
mov bl, 1
mov ecx, dword [0x45985c]
push str.SSL_CTX_use_certificate_chain_file
push ecx
call esi
cmp eax, edi
mov dword [0x4597ac], eax
je 0x43f702
test bl, bl
je 0x43f747
mov edx, dword [0x45985c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x459860]
cmp eax, edi
mov dword [0x45985c], edi
je 0x43f723
push eax
call esi
mov dword [0x459860], edi
cmp dword [0x4594d8], edi
je 0x43f73c
push 0x4594c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebp
pop ebx
mov eax, 2
pop edi
pop ecx
ret
call dword [0x4597b0]
call dword [0x459798]
test eax, eax
jne 0x43f798
mov eax, dword [0x45985c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x459860]
push ecx
mov dword [0x45985c], edi
call esi
cmp dword [0x4594d8], edi
mov dword [0x459860], edi
je 0x43f78d
push 0x4594c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebp
pop ebx
mov eax, 4
pop edi
pop ecx
ret
mov esi, 1
add dword [0x459858], esi
cmp dword [0x4594d8], edi
je 0x43f7b6
push 0x4594c0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [esp + 0x10]
mov dword [edx + 0x3c], esi
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
pop ecx
ret