Function at 0x41a260
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push ebp
mov ebx, ecx
push esi
push edi
xor edi, edi
cmp dword [ebx + 0x24], edi
jne 0x41ab1c
cmp dword [0x4e5e68], edi
je 0x41a284
push 0x4e5e50
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4e5f5c], edi
jne 0x41aaf4
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.libeay32.dll
call ebp
cmp eax, edi
mov dword [0x4e5f64], eax
jne 0x41a2f4
mov eax, dword [0x4e5f60]
cmp eax, edi
je 0x41a2b6
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x4e5e68]
mov dword [0x4e5f60], edi
cmp eax, edi
je 0x41a2d0
push 0x4e5e50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x20], edi
jne 0x41aaca
push 2
push 1
push 1
mov ecx, ebx
mov dword [ebx + 0x20], 1
call fcn.00418490
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.BIO_ctrl_pending
push eax
call esi
mov dword [0x4e5ee0], eax
mov eax, dword [0x4e5f64]
push str.BIO_read
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.BIO_ctrl
push ecx
mov dword [0x4e5edc], eax
call esi
mov edx, dword [0x4e5f64]
push str.BIO_write
push edx
mov dword [0x4e5ed8], eax
call esi
mov dword [0x4e5ed4], eax
mov eax, dword [0x4e5f64]
push str.BIO_ctrl_get_write_guarantee
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.BIO_new_bio_pair
push ecx
mov dword [0x4e5ed0], eax
call esi
mov edx, dword [0x4e5f64]
push str.BIO_new
push edx
mov dword [0x4e5ecc], eax
call esi
mov dword [0x4e5ec8], eax
mov eax, dword [0x4e5f64]
push str.BIO_free
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.i2t_ASN1_OBJECT
push ecx
mov dword [0x4e5ec4], eax
call esi
mov edx, dword [0x4e5f64]
push str.OBJ_obj2nid
push edx
mov dword [0x4e5ec0], eax
call esi
mov dword [0x4e5ebc], eax
mov eax, dword [0x4e5f64]
push str.X509_NAME_ENTRY_get_object
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.X509_NAME_get_entry
push ecx
mov dword [0x4e5eb8], eax
call esi
mov edx, dword [0x4e5f64]
push str.X509_NAME_entry_count
push edx
mov dword [0x4e5eb4], eax
call esi
mov dword [0x4e5eb0], eax
mov eax, dword [0x4e5f64]
push str.X509_get_subject_name
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.X509_get_issuer_name
push ecx
mov dword [0x4e5eac], eax
call esi
mov edx, dword [0x4e5f64]
push str.OBJ_nid2sn
push edx
mov dword [0x4e5ea8], eax
call esi
mov dword [0x4e5ea4], eax
push str.X509_NAME_ENTRY_get_data
mov eax, dword [0x4e5f64]
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.X509_STORE_CTX_set_error
push ecx
mov dword [0x4e5ea0], eax
call esi
mov edx, dword [0x4e5f64]
push str.X509_digest
push edx
mov dword [0x4e5e9c], eax
call esi
mov dword [0x4e5e98], eax
mov eax, dword [0x4e5f64]
push str.EVP_sha1
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.X509_STORE_CTX_get_current_cert
push ecx
mov dword [0x4e5e94], eax
call esi
mov edx, dword [0x4e5f64]
push str.X509_STORE_CTX_get_error
push edx
mov dword [0x4e5e90], eax
call esi
mov dword [0x4e5e8c], eax
mov eax, dword [0x4e5f64]
push str.X509_free
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.X509_get_pubkey
push ecx
mov dword [0x4e5e88], eax
call esi
mov edx, dword [0x4e5f64]
push str.BN_num_bits
push edx
mov dword [0x4e5e84], eax
call esi
mov dword [0x4e5e80], eax
mov eax, dword [0x4e5f64]
push str.EVP_PKEY_free
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.X509_STORE_CTX_get_ex_data
push ecx
mov dword [0x4e5e7c], eax
call esi
mov edx, dword [0x4e5f64]
push str.X509_NAME_oneline
push edx
mov dword [0x4e5e78], eax
call esi
mov dword [0x4e5e74], eax
mov eax, dword [0x4e5f64]
push str.X509_verify_cert_error_string
push eax
call esi
mov ecx, dword [0x4e5f64]
push str.X509_STORE_CTX_get_error_depth
push ecx
mov dword [0x4e5e70], eax
call esi
mov ecx, dword [0x4e5ee0]
mov dword [0x4e5e6c], eax
cmp ecx, edi
je 0x41ab5b
cmp dword [0x4e5edc], edi
je 0x41ab5b
cmp dword [0x4e5ed8], edi
je 0x41ab5b
cmp dword [0x4e5ed4], edi
je 0x41ab5b
cmp dword [0x4e5ed0], edi
je 0x41ab5b
cmp dword [0x4e5ecc], edi
je 0x41ab5b
cmp dword [0x4e5ec8], edi
je 0x41ab5b
cmp dword [0x4e5ec4], edi
je 0x41ab5b
cmp dword [0x4e5ec0], edi
je 0x41ab5b
cmp dword [0x4e5ebc], edi
je 0x41ab5b
cmp dword [0x4e5eb8], edi
je 0x41ab5b
cmp dword [0x4e5eb4], edi
je 0x41ab5b
cmp dword [0x4e5eb0], edi
je 0x41ab5b
cmp dword [0x4e5eac], edi
je 0x41ab5b
cmp dword [0x4e5ea8], edi
je 0x41ab5b
cmp dword [0x4e5ea4], edi
je 0x41ab5b
cmp dword [0x4e5ea0], edi
je 0x41ab5b
cmp dword [0x4e5e9c], edi
je 0x41ab5b
cmp dword [0x4e5e98], edi
je 0x41ab5b
cmp dword [0x4e5e94], edi
je 0x41ab5b
cmp dword [0x4e5e90], edi
je 0x41ab5b
cmp dword [0x4e5e8c], edi
je 0x41ab5b
cmp dword [0x4e5e88], edi
je 0x41ab5b
cmp dword [0x4e5e84], edi
je 0x41ab5b
cmp dword [0x4e5e80], edi
je 0x41ab5b
cmp dword [0x4e5e7c], edi
je 0x41ab5b
cmp dword [0x4e5e78], edi
je 0x41ab5b
cmp dword [0x4e5e74], edi
je 0x41ab5b
cmp dword [0x4e5e70], edi
je 0x41ab5b
cmp eax, edi
je 0x41ab5b
push str.ssleay32.dll
call ebp
cmp eax, edi
mov dword [0x4e5f60], eax
jne 0x41a6b3
mov eax, dword [0x4e5f64]
cmp eax, edi
je 0x41ab43
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x41ab43
push str.SSL_state_string_long
push eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_state
push edx
mov dword [0x4e5f54], eax
call esi
mov dword [0x4e5f50], eax
mov eax, dword [0x4e5f60]
push str.SSL_set_info_callback
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSL_set_bio
push ecx
mov dword [0x4e5f4c], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_set_connect_state
push edx
mov dword [0x4e5f48], eax
call esi
mov dword [0x4e5f44], eax
mov eax, dword [0x4e5f60]
push str.SSL_set_session
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.BIO_f_ssl
push ecx
mov dword [0x4e5f40], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_new
push edx
mov dword [0x4e5f3c], eax
call esi
mov dword [0x4e5f38], eax
mov eax, dword [0x4e5f60]
push str.SSL_CTX_new
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSLv23_method
push ecx
mov dword [0x4e5f34], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_load_error_strings
push edx
mov dword [0x4e5f30], eax
call esi
mov dword [0x4e5f2c], eax
mov eax, dword [0x4e5f60]
push str.SSL_library_init
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSL_CTX_free
push ecx
mov dword [0x4e5f28], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_free
push edx
mov dword [0x4e5f24], eax
call esi
mov dword [0x4e5f20], eax
mov eax, dword [0x4e5f60]
push str.SSL_get_error
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSL_shutdown
push ecx
mov dword [0x4e5f1c], eax
call esi
mov edx, dword [0x4e5f60]
mov dword [0x4e5f18], eax
push str.SSL_alert_type_string_long
push edx
call esi
mov dword [0x4e5f14], eax
mov eax, dword [0x4e5f60]
push str.SSL_alert_desc_string_long
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSL_CTX_set_verify
push ecx
mov dword [0x4e5f10], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_CTX_get_cert_store
push edx
mov dword [0x4e5f0c], eax
call esi
mov dword [0x4e5f08], eax
mov eax, dword [0x4e5f60]
push str.SSL_get_verify_result
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSL_get_peer_certificate
push ecx
mov dword [0x4e5f04], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_get_version
push edx
mov dword [0x4e5f00], eax
call esi
mov dword [0x4e5efc], eax
mov eax, dword [0x4e5f60]
push str.SSL_get_current_cipher
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSL_CIPHER_get_name
push ecx
mov dword [0x4e5ef8], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_CIPHER_get_version
push edx
mov dword [0x4e5ef4], eax
call esi
mov dword [0x4e5ef0], eax
mov eax, dword [0x4e5f60]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push eax
call esi
mov ecx, dword [0x4e5f60]
push str.SSL_CTX_load_verify_locations
push ecx
mov dword [0x4e5eec], eax
call esi
mov edx, dword [0x4e5f60]
push str.SSL_ctrl
push edx
mov dword [0x4e5ee8], eax
call esi
mov ecx, dword [0x4e5f54]
mov dword [0x4e5ee4], eax
cmp ecx, edi
je 0x41ab23
cmp dword [0x4e5f50], edi
je 0x41ab23
cmp dword [0x4e5f4c], edi
je 0x41ab23
cmp dword [0x4e5f48], edi
je 0x41ab23
cmp dword [0x4e5f44], edi
je 0x41ab23
cmp dword [0x4e5f40], edi
je 0x41ab23
cmp dword [0x4e5f3c], edi
je 0x41ab23
cmp dword [0x4e5f38], edi
je 0x41ab23
cmp dword [0x4e5f34], edi
je 0x41ab23
cmp dword [0x4e5f30], edi
je 0x41ab23
mov ecx, dword [0x4e5f2c]
cmp ecx, edi
je 0x41ab23
cmp dword [0x4e5f28], edi
je 0x41ab23
cmp dword [0x4e5f24], edi
je 0x41ab23
cmp dword [0x4e5f20], edi
je 0x41ab23
cmp dword [0x4e5f1c], edi
je 0x41ab23
cmp dword [0x4e5f18], edi
je 0x41ab23
cmp dword [0x4e5f14], edi
je 0x41ab23
cmp dword [0x4e5f10], edi
je 0x41ab23
cmp dword [0x4e5f0c], edi
je 0x41ab23
cmp dword [0x4e5f08], edi
je 0x41ab23
cmp dword [0x4e5f04], edi
je 0x41ab23
cmp dword [0x4e5f00], edi
je 0x41ab23
cmp dword [0x4e5efc], edi
je 0x41ab23
cmp dword [0x4e5ef8], edi
je 0x41ab23
cmp dword [0x4e5ef4], edi
je 0x41ab23
cmp dword [0x4e5ef0], edi
je 0x41ab23
cmp dword [0x4e5eec], edi
je 0x41ab23
cmp dword [0x4e5ee8], edi
je 0x41ab23
cmp eax, edi
je 0x41ab23
call ecx
call dword [0x4e5f28]
test eax, eax
jne 0x41aa61
mov eax, dword [0x4e5f60]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x4e5f64]
mov dword [0x4e5f60], edi
push ecx
call esi
mov eax, dword [0x4e5e68]
mov dword [0x4e5f64], edi
cmp eax, edi
je 0x41aab1
jmp 0x41aaa6
call dword [0x4e5f30]
push eax
call dword [0x4e5f34]
add esp, 4
cmp eax, edi
mov dword [0x4e5f68], eax
jne 0x41aad1
mov edx, dword [0x4e5f60]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x4e5f64]
mov dword [0x4e5f60], edi
push eax
call esi
mov eax, dword [0x4e5e68]
mov dword [0x4e5f64], edi
cmp eax, edi
je 0x41aab1
push 0x4e5e50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x20], edi
jne 0x41aaca
push 4
push 1
push 1
mov ecx, ebx
mov dword [ebx + 0x20], 1
call fcn.00418490
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret
push 0x41ace0
push 1
push eax
call dword [0x4e5f0c]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [0x4e5f68]
push edi
push ecx
push edx
call dword [0x4e5ee8]
add esp, 0x18
mov ecx, dword [0x4e5f5c]
mov eax, dword [0x4e5e68]
inc ecx
cmp eax, edi
mov dword [0x4e5f5c], ecx
je 0x41ab15
push 0x4e5e50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebx + 0x24], 1
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
ret
mov eax, dword [0x4e5f60]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov eax, dword [0x4e5f64]
mov dword [0x4e5f60], edi
cmp eax, edi
je 0x41ab43
push eax
call esi
mov eax, dword [0x4e5e68]
mov dword [0x4e5f64], edi
cmp eax, edi
je 0x41a2d0
jmp 0x41a2c5
mov ecx, dword [0x4e5f60]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov edx, dword [0x4e5f64]
mov dword [0x4e5f60], edi
push edx
jmp 0x41ab41