Function at 0x4473e0
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 0x4473f2
xor eax, eax
pop edi
pop ecx
ret
cmp dword [0x47d548], edi
je 0x447405
push 0x47d530
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4801cc], edi
push ebx
push ebp
push esi
jne 0x447db8
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.libeay32.dll
call ebp
cmp eax, edi
mov dword [0x4801d4], eax
jne 0x447445
mov eax, dword [0x4801d0]
cmp eax, edi
je 0x44743a
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4801d0], edi
jmp 0x447d49
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 [0x480090], eax
jne 0x447460
mov bl, 1
mov eax, dword [0x4801d4]
push str.BIO_ctrl_pending
push eax
call esi
cmp eax, edi
mov dword [0x480090], eax
jne 0x447478
mov bl, 1
mov ecx, dword [0x4801d4]
push str.BIO_read
push ecx
call esi
cmp eax, edi
mov dword [0x4800e8], eax
jne 0x447491
mov bl, 1
mov edx, dword [0x4801d4]
push str.BIO_ctrl
push edx
call esi
cmp eax, edi
mov dword [0x4800d4], eax
jne 0x4474aa
mov bl, 1
mov eax, dword [0x4801d4]
push str.BIO_write
push eax
call esi
cmp eax, edi
mov dword [0x480168], eax
jne 0x4474c2
mov bl, 1
mov ecx, dword [0x4801d4]
push str.BIO_ctrl_get_write_guarantee
push ecx
call esi
cmp eax, edi
mov dword [0x4800c0], eax
jne 0x4474db
mov bl, 1
mov edx, dword [0x4801d4]
push str.BIO_new_bio_pair
push edx
call esi
cmp eax, edi
mov dword [0x480128], eax
jne 0x4474f4
mov bl, 1
mov eax, dword [0x4801d4]
push str.BIO_new
push eax
call esi
cmp eax, edi
mov dword [0x48014c], eax
jne 0x44750c
mov bl, 1
mov ecx, dword [0x4801d4]
push str.BIO_free
push ecx
call esi
cmp eax, edi
mov dword [0x4800a0], eax
jne 0x447525
mov bl, 1
mov edx, dword [0x4801d4]
push str.i2t_ASN1_OBJECT
push edx
call esi
cmp eax, edi
mov dword [0x4801b4], eax
jne 0x44753e
mov bl, 1
mov eax, dword [0x4801d4]
push str.OBJ_obj2nid
push eax
call esi
cmp eax, edi
mov dword [0x4801a4], eax
jne 0x447556
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_NAME_ENTRY_get_object
push ecx
call esi
cmp eax, edi
mov dword [0x4800d8], eax
jne 0x44756f
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_NAME_get_entry
push edx
call esi
cmp eax, edi
mov dword [0x48019c], eax
jne 0x447588
mov bl, 1
mov eax, dword [0x4801d4]
push str.X509_NAME_entry_count
push eax
call esi
cmp eax, edi
mov dword [0x4801a0], eax
jne 0x4475a0
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_get_subject_name
push ecx
call esi
cmp eax, edi
mov dword [0x480140], eax
jne 0x4475b9
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_get_issuer_name
push edx
call esi
cmp eax, edi
mov dword [0x480088], eax
jne 0x4475d2
mov bl, 1
mov eax, dword [0x4801d4]
push str.OBJ_nid2sn
push eax
call esi
cmp eax, edi
mov dword [0x480094], eax
jne 0x4475ea
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_NAME_ENTRY_get_data
push ecx
call esi
cmp eax, edi
mov dword [0x480068], eax
jne 0x447603
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_STORE_CTX_set_error
push edx
call esi
cmp eax, edi
mov dword [0x4800fc], eax
jne 0x44761c
mov bl, 1
mov eax, dword [0x4801d4]
push str.X509_digest
push eax
call esi
cmp eax, edi
mov dword [0x4800c8], eax
jne 0x447634
mov bl, 1
mov ecx, dword [0x4801d4]
push str.EVP_sha1
push ecx
call esi
cmp eax, edi
mov dword [0x480180], eax
jne 0x44764d
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_STORE_CTX_get_current_cert
push edx
call esi
cmp eax, edi
mov dword [0x480074], eax
jne 0x447666
mov bl, 1
mov eax, dword [0x4801d4]
push str.X509_STORE_CTX_get_error
push eax
call esi
cmp eax, edi
mov dword [0x48009c], eax
jne 0x44767e
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_free
push ecx
call esi
cmp eax, edi
mov dword [0x480114], eax
jne 0x447697
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_get_pubkey
push edx
call esi
cmp eax, edi
mov dword [0x480148], eax
jne 0x4476b0
mov bl, 1
mov eax, dword [0x4801d4]
push str.BN_num_bits
push eax
call esi
cmp eax, edi
mov dword [0x480118], eax
jne 0x4476c8
mov bl, 1
mov ecx, dword [0x4801d4]
push str.EVP_PKEY_free
push ecx
call esi
cmp eax, edi
mov dword [0x480134], eax
jne 0x4476e1
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_STORE_CTX_get_ex_data
push edx
call esi
cmp eax, edi
mov dword [0x48011c], eax
jne 0x4476fa
mov bl, 1
mov eax, dword [0x4801d4]
push str.X509_NAME_oneline
push eax
call esi
cmp eax, edi
mov dword [0x4801c0], eax
jne 0x447712
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_verify_cert_error_string
push ecx
call esi
cmp eax, edi
mov dword [0x480110], eax
jne 0x44772b
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_STORE_CTX_get_error_depth
push edx
call esi
cmp eax, edi
mov dword [0x48018c], eax
jne 0x447744
mov bl, 1
mov eax, dword [0x4801d4]
push str.ERR_get_error
push eax
call esi
cmp eax, edi
mov dword [0x4800dc], eax
jne 0x44775c
mov bl, 1
mov ecx, dword [0x4801d4]
push str.ERR_error_string
push ecx
call esi
cmp eax, edi
mov dword [0x48013c], eax
jne 0x447775
mov bl, 1
mov edx, dword [0x4801d4]
push str.ASN1_STRING_to_UTF8
push edx
call esi
cmp eax, edi
mov dword [0x4800f8], eax
jne 0x44778e
mov bl, 1
mov eax, dword [0x4801d4]
push str.CRYPTO_free
push eax
call esi
cmp eax, edi
mov dword [0x4801ac], eax
jne 0x4477a6
mov bl, 1
mov ecx, dword [0x4801d4]
push str.RSA_generate_key
push ecx
call esi
cmp eax, edi
mov dword [0x4800ac], eax
jne 0x4477bf
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_set_version
push edx
call esi
cmp eax, edi
mov dword [0x4801b8], eax
jne 0x4477d8
mov bl, 1
mov eax, dword [0x4801d4]
push str.X509_gmtime_adj
push eax
call esi
cmp eax, edi
mov dword [0x4801b0], eax
jne 0x4477f0
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_set_pubkey
push ecx
call esi
cmp eax, edi
mov dword [0x480198], eax
jne 0x447809
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_NAME_add_entry_by_txt
push edx
call esi
cmp eax, edi
mov dword [0x4800d0], eax
jne 0x447822
mov bl, 1
mov eax, dword [0x4801d4]
push str.X509_NAME_add_entry_by_NID
push eax
call esi
cmp eax, edi
mov dword [0x480160], eax
jne 0x44783a
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_set_issuer_name
push ecx
call esi
cmp eax, edi
mov dword [0x480138], eax
jne 0x447853
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_sign
push edx
call esi
cmp eax, edi
mov dword [0x480170], eax
jne 0x44786c
mov bl, 1
mov eax, dword [0x4801d4]
push str.EVP_PKEY_new
push eax
call esi
cmp eax, edi
mov dword [0x480100], eax
jne 0x447884
mov bl, 1
mov ecx, dword [0x4801d4]
push str.EVP_PKEY_assign
push ecx
call esi
cmp eax, edi
mov dword [0x480154], eax
jne 0x44789d
mov bl, 1
mov edx, dword [0x4801d4]
push str.X509_new
push edx
call esi
cmp eax, edi
mov dword [0x4801bc], eax
jne 0x4478b6
mov bl, 1
mov eax, dword [0x4801d4]
push str.ASN1_INTEGER_set
push eax
call esi
cmp eax, edi
mov dword [0x480150], eax
jne 0x4478ce
mov bl, 1
mov ecx, dword [0x4801d4]
push str.X509_get_serialNumber
push ecx
call esi
cmp eax, edi
mov dword [0x48016c], eax
jne 0x4478e7
mov bl, 1
mov edx, dword [0x4801d4]
push str.PEM_ASN1_write_bio
push edx
call esi
cmp eax, edi
mov dword [0x4800ec], eax
jne 0x447900
mov bl, 1
mov eax, dword [0x4801d4]
push str.i2d_X509
push eax
call esi
cmp eax, edi
mov dword [0x4800b8], eax
jne 0x447918
mov bl, 1
mov ecx, dword [0x4801d4]
push str.BIO_s_mem
push ecx
call esi
cmp eax, edi
mov dword [0x4800cc], eax
jne 0x447931
mov bl, 1
mov edx, dword [0x4801d4]
push str.i2d_PrivateKey
push edx
call esi
cmp eax, edi
mov dword [0x480078], eax
je 0x44794c
test bl, bl
je 0x44796c
mov eax, dword [0x4801d0]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x4801d4]
mov dword [0x4801d0], edi
push ecx
jmp 0x447d41
push str.ssleay32.dll
call ebp
cmp eax, edi
mov dword [0x4801d0], eax
jne 0x447995
mov eax, dword [0x4801d4]
cmp eax, edi
je 0x447d43
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x447d43
push str.SSL_state_string_long
push eax
call esi
cmp eax, edi
mov dword [0x48007c], eax
jne 0x4479a8
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_state
push edx
call esi
cmp eax, edi
mov dword [0x480158], eax
jne 0x4479c1
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_set_info_callback
push eax
call esi
cmp eax, edi
mov dword [0x4800e0], eax
jne 0x4479d9
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_set_bio
push ecx
call esi
cmp eax, edi
mov dword [0x480190], eax
jne 0x4479f2
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_set_connect_state
push edx
call esi
cmp eax, edi
mov dword [0x48017c], eax
jne 0x447a0b
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_set_session
push eax
call esi
cmp eax, edi
mov dword [0x48012c], eax
jne 0x447a23
mov bl, 1
mov ecx, dword [0x4801d0]
push str.BIO_f_ssl
push ecx
call esi
cmp eax, edi
mov dword [0x4800f4], eax
jne 0x447a3c
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_new
push edx
call esi
cmp eax, edi
mov dword [0x480178], eax
jne 0x447a55
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_CTX_new
push eax
call esi
cmp eax, edi
mov dword [0x480104], eax
jne 0x447a6d
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSLv23_method
push ecx
call esi
cmp eax, edi
mov dword [0x480080], eax
jne 0x447a86
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_load_error_strings
push edx
call esi
cmp eax, edi
mov dword [0x480124], eax
jne 0x447a9f
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_library_init
push eax
call esi
cmp eax, edi
mov dword [0x48010c], eax
jne 0x447ab7
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_CTX_free
push ecx
call esi
cmp eax, edi
mov dword [0x4801c4], eax
jne 0x447ad0
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_free
push edx
call esi
cmp eax, edi
mov dword [0x4800a4], eax
jne 0x447ae9
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_get_error
push eax
call esi
cmp eax, edi
mov dword [0x480084], eax
jne 0x447b01
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_shutdown
push ecx
call esi
cmp eax, edi
mov dword [0x4800b0], eax
jne 0x447b1a
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_get_shutdown
push edx
call esi
cmp eax, edi
mov dword [0x4800e4], eax
jne 0x447b33
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_alert_type_string_long
push eax
call esi
cmp eax, edi
mov dword [0x48015c], eax
jne 0x447b4b
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_alert_desc_string_long
push ecx
call esi
cmp eax, edi
mov dword [0x4800b4], eax
jne 0x447b64
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_CTX_set_verify
push edx
call esi
cmp eax, edi
mov dword [0x480070], eax
jne 0x447b7d
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_CTX_get_cert_store
push eax
call esi
cmp eax, edi
mov dword [0x4800c4], eax
jne 0x447b95
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_get_verify_result
push ecx
call esi
cmp eax, edi
mov dword [0x480174], eax
jne 0x447bae
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_get_peer_certificate
push edx
call esi
cmp eax, edi
mov dword [0x480144], eax
jne 0x447bc7
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_get_version
push eax
call esi
cmp eax, edi
mov dword [0x480130], eax
jne 0x447bdf
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_get_current_cipher
push ecx
call esi
cmp eax, edi
mov dword [0x480188], eax
jne 0x447bf8
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_CIPHER_get_name
push edx
call esi
cmp eax, edi
mov dword [0x48006c], eax
jne 0x447c11
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_CIPHER_get_version
push eax
call esi
cmp eax, edi
mov dword [0x480164], eax
jne 0x447c29
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push ecx
call esi
cmp eax, edi
mov dword [0x4801a8], eax
jne 0x447c42
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_CTX_load_verify_locations
push edx
call esi
cmp eax, edi
mov dword [0x480108], eax
jne 0x447c5b
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_ctrl
push eax
call esi
cmp eax, edi
mov dword [0x4800a8], eax
jne 0x447c73
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_set_accept_state
push ecx
call esi
cmp eax, edi
mov dword [0x480184], eax
jne 0x447c8c
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_CTX_use_PrivateKey_file
push edx
call esi
cmp eax, edi
mov dword [0x48008c], eax
jne 0x447ca5
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_CTX_use_certificate_file
push eax
call esi
cmp eax, edi
mov dword [0x4800f0], eax
jne 0x447cbd
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_CTX_check_private_key
push ecx
call esi
cmp eax, edi
mov dword [0x480194], eax
jne 0x447cd6
mov bl, 1
mov edx, dword [0x4801d0]
push str.SSL_CTX_set_default_passwd_cb_userdata
push edx
call esi
cmp eax, edi
mov dword [0x4800bc], eax
jne 0x447cef
mov bl, 1
mov eax, dword [0x4801d0]
push str.SSL_CTX_set_default_passwd_cb
push eax
call esi
cmp eax, edi
mov dword [0x480098], eax
jne 0x447d07
mov bl, 1
mov ecx, dword [0x4801d0]
push str.SSL_CTX_use_certificate_chain_file
push ecx
call esi
cmp eax, edi
mov dword [0x480120], eax
je 0x447d22
test bl, bl
je 0x447d67
mov edx, dword [0x4801d0]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x4801d4]
cmp eax, edi
mov dword [0x4801d0], edi
je 0x447d43
push eax
call esi
mov dword [0x4801d4], edi
cmp dword [0x47d548], edi
je 0x447d5c
push 0x47d530
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebp
pop ebx
mov eax, 2
pop edi
pop ecx
ret
call dword [0x480124]
call dword [0x48010c]
test eax, eax
jne 0x447db8
mov eax, dword [0x4801d0]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x4801d4]
push ecx
mov dword [0x4801d0], edi
call esi
cmp dword [0x47d548], edi
mov dword [0x4801d4], edi
je 0x447dad
push 0x47d530
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 [0x4801cc], esi
cmp dword [0x47d548], edi
je 0x447dd6
push 0x47d530
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