Function at 0x475c80
Capabilities:
Link many functions at runtime

Disassembly:
push ecx
push edi
xor edi, edi
mov dword [esp + 4], ecx
cmp dword [ecx + 0x3c], edi
je 0x475c92
xor eax, eax
pop edi
pop ecx
ret
cmp dword [0x496e08], edi
je 0x475ca5
push 0x496df0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
push ebp
push esi
cmp dword [0x497580], edi
jne 0x476658
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.libeay32.dll
call ebp
mov dword [0x497588], eax
cmp eax, edi
jne 0x475ce5
mov eax, dword [0x497584]
cmp eax, edi
je 0x475cda
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x497584], edi
jmp 0x4765e9
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.BIO_ctrl_pending
push eax
xor bl, bl
call esi
mov dword [0x497444], eax
cmp eax, edi
jne 0x475d00
mov bl, 1
mov eax, dword [0x497588]
push str.BIO_ctrl_pending
push eax
call esi
mov dword [0x497444], eax
cmp eax, edi
jne 0x475d18
mov bl, 1
mov ecx, dword [0x497588]
push str.BIO_read
push ecx
call esi
mov dword [0x49749c], eax
cmp eax, edi
jne 0x475d31
mov bl, 1
mov edx, dword [0x497588]
push str.BIO_ctrl
push edx
call esi
mov dword [0x497488], eax
cmp eax, edi
jne 0x475d4a
mov bl, 1
mov eax, dword [0x497588]
push str.BIO_write
push eax
call esi
mov dword [0x49751c], eax
cmp eax, edi
jne 0x475d62
mov bl, 1
mov ecx, dword [0x497588]
push str.BIO_ctrl_get_write_guarantee
push ecx
call esi
mov dword [0x497474], eax
cmp eax, edi
jne 0x475d7b
mov bl, 1
mov edx, dword [0x497588]
push str.BIO_new_bio_pair
push edx
call esi
mov dword [0x4974dc], eax
cmp eax, edi
jne 0x475d94
mov bl, 1
mov eax, dword [0x497588]
push str.BIO_new
push eax
call esi
mov dword [0x497500], eax
cmp eax, edi
jne 0x475dac
mov bl, 1
mov ecx, dword [0x497588]
push str.BIO_free
push ecx
call esi
mov dword [0x497454], eax
cmp eax, edi
jne 0x475dc5
mov bl, 1
mov edx, dword [0x497588]
push str.i2t_ASN1_OBJECT
push edx
call esi
mov dword [0x497568], eax
cmp eax, edi
jne 0x475dde
mov bl, 1
mov eax, dword [0x497588]
push str.OBJ_obj2nid
push eax
call esi
mov dword [0x497558], eax
cmp eax, edi
jne 0x475df6
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_NAME_ENTRY_get_object
push ecx
call esi
mov dword [0x49748c], eax
cmp eax, edi
jne 0x475e0f
mov bl, 1
mov edx, dword [0x497588]
push str.X509_NAME_get_entry
push edx
call esi
mov dword [0x497550], eax
cmp eax, edi
jne 0x475e28
mov bl, 1
mov eax, dword [0x497588]
push str.X509_NAME_entry_count
push eax
call esi
mov dword [0x497554], eax
cmp eax, edi
jne 0x475e40
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_get_subject_name
push ecx
call esi
mov dword [0x4974f4], eax
cmp eax, edi
jne 0x475e59
mov bl, 1
mov edx, dword [0x497588]
push str.X509_get_issuer_name
push edx
call esi
mov dword [0x49743c], eax
cmp eax, edi
jne 0x475e72
mov bl, 1
mov eax, dword [0x497588]
push str.OBJ_nid2sn
push eax
call esi
mov dword [0x497448], eax
cmp eax, edi
jne 0x475e8a
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_NAME_ENTRY_get_data
push ecx
call esi
mov dword [0x49741c], eax
cmp eax, edi
jne 0x475ea3
mov bl, 1
mov edx, dword [0x497588]
push str.X509_STORE_CTX_set_error
push edx
call esi
mov dword [0x4974b0], eax
cmp eax, edi
jne 0x475ebc
mov bl, 1
mov eax, dword [0x497588]
push str.X509_digest
push eax
call esi
mov dword [0x49747c], eax
cmp eax, edi
jne 0x475ed4
mov bl, 1
mov ecx, dword [0x497588]
push str.EVP_sha1
push ecx
call esi
mov dword [0x497534], eax
cmp eax, edi
jne 0x475eed
mov bl, 1
mov edx, dword [0x497588]
push str.X509_STORE_CTX_get_current_cert
push edx
call esi
mov dword [0x497428], eax
cmp eax, edi
jne 0x475f06
mov bl, 1
mov eax, dword [0x497588]
push str.X509_STORE_CTX_get_error
push eax
call esi
mov dword [0x497450], eax
cmp eax, edi
jne 0x475f1e
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_free
push ecx
call esi
mov dword [0x4974c8], eax
cmp eax, edi
jne 0x475f37
mov bl, 1
mov edx, dword [0x497588]
push str.X509_get_pubkey
push edx
call esi
mov dword [0x4974fc], eax
cmp eax, edi
jne 0x475f50
mov bl, 1
mov eax, dword [0x497588]
push str.BN_num_bits
push eax
call esi
mov dword [0x4974cc], eax
cmp eax, edi
jne 0x475f68
mov bl, 1
mov ecx, dword [0x497588]
push str.EVP_PKEY_free
push ecx
call esi
mov dword [0x4974e8], eax
cmp eax, edi
jne 0x475f81
mov bl, 1
mov edx, dword [0x497588]
push str.X509_STORE_CTX_get_ex_data
push edx
call esi
mov dword [0x4974d0], eax
cmp eax, edi
jne 0x475f9a
mov bl, 1
mov eax, dword [0x497588]
push str.X509_NAME_oneline
push eax
call esi
mov dword [0x497574], eax
cmp eax, edi
jne 0x475fb2
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_verify_cert_error_string
push ecx
call esi
mov dword [0x4974c4], eax
cmp eax, edi
jne 0x475fcb
mov bl, 1
mov edx, dword [0x497588]
push str.X509_STORE_CTX_get_error_depth
push edx
call esi
mov dword [0x497540], eax
cmp eax, edi
jne 0x475fe4
mov bl, 1
mov eax, dword [0x497588]
push str.ERR_get_error
push eax
call esi
mov dword [0x497490], eax
cmp eax, edi
jne 0x475ffc
mov bl, 1
mov ecx, dword [0x497588]
push str.ERR_error_string
push ecx
call esi
mov dword [0x4974f0], eax
cmp eax, edi
jne 0x476015
mov bl, 1
mov edx, dword [0x497588]
push str.ASN1_STRING_to_UTF8
push edx
call esi
mov dword [0x4974ac], eax
cmp eax, edi
jne 0x47602e
mov bl, 1
mov eax, dword [0x497588]
push str.CRYPTO_free
push eax
call esi
mov dword [0x497560], eax
cmp eax, edi
jne 0x476046
mov bl, 1
mov ecx, dword [0x497588]
push str.RSA_generate_key
push ecx
call esi
mov dword [0x497460], eax
cmp eax, edi
jne 0x47605f
mov bl, 1
mov edx, dword [0x497588]
push str.X509_set_version
push edx
call esi
mov dword [0x49756c], eax
cmp eax, edi
jne 0x476078
mov bl, 1
mov eax, dword [0x497588]
push str.X509_gmtime_adj
push eax
call esi
mov dword [0x497564], eax
cmp eax, edi
jne 0x476090
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_set_pubkey
push ecx
call esi
mov dword [0x49754c], eax
cmp eax, edi
jne 0x4760a9
mov bl, 1
mov edx, dword [0x497588]
push str.X509_NAME_add_entry_by_txt
push edx
call esi
mov dword [0x497484], eax
cmp eax, edi
jne 0x4760c2
mov bl, 1
mov eax, dword [0x497588]
push str.X509_NAME_add_entry_by_NID
push eax
call esi
mov dword [0x497514], eax
cmp eax, edi
jne 0x4760da
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_set_issuer_name
push ecx
call esi
mov dword [0x4974ec], eax
cmp eax, edi
jne 0x4760f3
mov bl, 1
mov edx, dword [0x497588]
push str.X509_sign
push edx
call esi
mov dword [0x497524], eax
cmp eax, edi
jne 0x47610c
mov bl, 1
mov eax, dword [0x497588]
push str.EVP_PKEY_new
push eax
call esi
mov dword [0x4974b4], eax
cmp eax, edi
jne 0x476124
mov bl, 1
mov ecx, dword [0x497588]
push str.EVP_PKEY_assign
push ecx
call esi
mov dword [0x497508], eax
cmp eax, edi
jne 0x47613d
mov bl, 1
mov edx, dword [0x497588]
push str.X509_new
push edx
call esi
mov dword [0x497570], eax
cmp eax, edi
jne 0x476156
mov bl, 1
mov eax, dword [0x497588]
push str.ASN1_INTEGER_set
push eax
call esi
mov dword [0x497504], eax
cmp eax, edi
jne 0x47616e
mov bl, 1
mov ecx, dword [0x497588]
push str.X509_get_serialNumber
push ecx
call esi
mov dword [0x497520], eax
cmp eax, edi
jne 0x476187
mov bl, 1
mov edx, dword [0x497588]
push str.PEM_ASN1_write_bio
push edx
call esi
mov dword [0x4974a0], eax
cmp eax, edi
jne 0x4761a0
mov bl, 1
mov eax, dword [0x497588]
push str.i2d_X509
push eax
call esi
mov dword [0x49746c], eax
cmp eax, edi
jne 0x4761b8
mov bl, 1
mov ecx, dword [0x497588]
push str.BIO_s_mem
push ecx
call esi
mov dword [0x497480], eax
cmp eax, edi
jne 0x4761d1
mov bl, 1
mov edx, dword [0x497588]
push str.i2d_PrivateKey
push edx
call esi
mov dword [0x49742c], eax
cmp eax, edi
je 0x4761ec
test bl, bl
je 0x47620c
mov eax, dword [0x497584]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x497588]
mov dword [0x497584], edi
push ecx
jmp 0x4765e1
push str.ssleay32.dll
call ebp
mov dword [0x497584], eax
cmp eax, edi
jne 0x476235
mov eax, dword [0x497588]
cmp eax, edi
je 0x4765e3
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4765e3
push str.SSL_state_string_long
push eax
call esi
mov dword [0x497430], eax
cmp eax, edi
jne 0x476248
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_state
push edx
call esi
mov dword [0x49750c], eax
cmp eax, edi
jne 0x476261
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_set_info_callback
push eax
call esi
mov dword [0x497494], eax
cmp eax, edi
jne 0x476279
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_set_bio
push ecx
call esi
mov dword [0x497544], eax
cmp eax, edi
jne 0x476292
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_set_connect_state
push edx
call esi
mov dword [0x497530], eax
cmp eax, edi
jne 0x4762ab
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_set_session
push eax
call esi
mov dword [0x4974e0], eax
cmp eax, edi
jne 0x4762c3
mov bl, 1
mov ecx, dword [0x497584]
push str.BIO_f_ssl
push ecx
call esi
mov dword [0x4974a8], eax
cmp eax, edi
jne 0x4762dc
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_new
push edx
call esi
mov dword [0x49752c], eax
cmp eax, edi
jne 0x4762f5
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_CTX_new
push eax
call esi
mov dword [0x4974b8], eax
cmp eax, edi
jne 0x47630d
mov bl, 1
mov ecx, dword [0x497584]
push str.SSLv23_method
push ecx
call esi
mov dword [0x497434], eax
cmp eax, edi
jne 0x476326
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_load_error_strings
push edx
call esi
mov dword [0x4974d8], eax
cmp eax, edi
jne 0x47633f
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_library_init
push eax
call esi
mov dword [0x4974c0], eax
cmp eax, edi
jne 0x476357
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_CTX_free
push ecx
call esi
mov dword [0x497578], eax
cmp eax, edi
jne 0x476370
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_free
push edx
call esi
mov dword [0x497458], eax
cmp eax, edi
jne 0x476389
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_get_error
push eax
call esi
mov dword [0x497438], eax
cmp eax, edi
jne 0x4763a1
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_shutdown
push ecx
call esi
mov dword [0x497464], eax
cmp eax, edi
jne 0x4763ba
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_get_shutdown
push edx
call esi
mov dword [0x497498], eax
cmp eax, edi
jne 0x4763d3
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_alert_type_string_long
push eax
call esi
mov dword [0x497510], eax
cmp eax, edi
jne 0x4763eb
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_alert_desc_string_long
push ecx
call esi
mov dword [0x497468], eax
cmp eax, edi
jne 0x476404
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_CTX_set_verify
push edx
call esi
mov dword [0x497424], eax
cmp eax, edi
jne 0x47641d
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_CTX_get_cert_store
push eax
call esi
mov dword [0x497478], eax
cmp eax, edi
jne 0x476435
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_get_verify_result
push ecx
call esi
mov dword [0x497528], eax
cmp eax, edi
jne 0x47644e
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_get_peer_certificate
push edx
call esi
mov dword [0x4974f8], eax
cmp eax, edi
jne 0x476467
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_get_version
push eax
call esi
mov dword [0x4974e4], eax
cmp eax, edi
jne 0x47647f
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_get_current_cipher
push ecx
call esi
mov dword [0x49753c], eax
cmp eax, edi
jne 0x476498
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_CIPHER_get_name
push edx
call esi
mov dword [0x497420], eax
cmp eax, edi
jne 0x4764b1
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_CIPHER_get_version
push eax
call esi
mov dword [0x497518], eax
cmp eax, edi
jne 0x4764c9
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push ecx
call esi
mov dword [0x49755c], eax
cmp eax, edi
jne 0x4764e2
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_CTX_load_verify_locations
push edx
call esi
mov dword [0x4974bc], eax
cmp eax, edi
jne 0x4764fb
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_ctrl
push eax
call esi
mov dword [0x49745c], eax
cmp eax, edi
jne 0x476513
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_set_accept_state
push ecx
call esi
mov dword [0x497538], eax
cmp eax, edi
jne 0x47652c
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_CTX_use_PrivateKey_file
push edx
call esi
mov dword [0x497440], eax
cmp eax, edi
jne 0x476545
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_CTX_use_certificate_file
push eax
call esi
mov dword [0x4974a4], eax
cmp eax, edi
jne 0x47655d
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_CTX_check_private_key
push ecx
call esi
mov dword [0x497548], eax
cmp eax, edi
jne 0x476576
mov bl, 1
mov edx, dword [0x497584]
push str.SSL_CTX_set_default_passwd_cb_userdata
push edx
call esi
mov dword [0x497470], eax
cmp eax, edi
jne 0x47658f
mov bl, 1
mov eax, dword [0x497584]
push str.SSL_CTX_set_default_passwd_cb
push eax
call esi
mov dword [0x49744c], eax
cmp eax, edi
jne 0x4765a7
mov bl, 1
mov ecx, dword [0x497584]
push str.SSL_CTX_use_certificate_chain_file
push ecx
call esi
mov dword [0x4974d4], eax
cmp eax, edi
je 0x4765c2
test bl, bl
je 0x476607
mov edx, dword [0x497584]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x497588]
mov dword [0x497584], edi
cmp eax, edi
je 0x4765e3
push eax
call esi
mov dword [0x497588], edi
cmp dword [0x496e08], edi
je 0x4765fc
push 0x496df0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebp
pop ebx
mov eax, 2
pop edi
pop ecx
ret
call dword [0x4974d8]
call dword [0x4974c0]
test eax, eax
jne 0x476658
mov eax, dword [0x497584]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x497588]
push ecx
mov dword [0x497584], edi
call esi
mov dword [0x497588], edi
cmp dword [0x496e08], edi
je 0x47664d
push 0x496df0
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 [0x497580], esi
cmp dword [0x496e08], edi
je 0x476676
push 0x496df0
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