Function at 0x41a1f0
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 0x41aaac
cmp dword [0x4e5f68], edi
je 0x41a214
push 0x4e5f50
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4e605c], edi
jne 0x41aa84
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.libeay32.dll
call ebp
cmp eax, edi
mov dword [0x4e6064], eax
jne 0x41a284
mov eax, dword [0x4e6060]
cmp eax, edi
je 0x41a246
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x4e5f68]
mov dword [0x4e6060], edi
cmp eax, edi
je 0x41a260
push 0x4e5f50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x20], edi
jne 0x41aa5a
push 2
push 1
push 1
mov ecx, ebx
mov dword [ebx + 0x20], 1
call fcn.00418420
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 [0x4e5fe0], eax
mov eax, dword [0x4e6064]
push str.BIO_read
push eax
call esi
mov ecx, dword [0x4e6064]
push str.BIO_ctrl
push ecx
mov dword [0x4e5fdc], eax
call esi
mov edx, dword [0x4e6064]
push str.BIO_write
push edx
mov dword [0x4e5fd8], eax
call esi
mov dword [0x4e5fd4], eax
mov eax, dword [0x4e6064]
push str.BIO_ctrl_get_write_guarantee
push eax
call esi
mov ecx, dword [0x4e6064]
push str.BIO_new_bio_pair
push ecx
mov dword [0x4e5fd0], eax
call esi
mov edx, dword [0x4e6064]
push str.BIO_new
push edx
mov dword [0x4e5fcc], eax
call esi
mov dword [0x4e5fc8], eax
mov eax, dword [0x4e6064]
push str.BIO_free
push eax
call esi
mov ecx, dword [0x4e6064]
push str.i2t_ASN1_OBJECT
push ecx
mov dword [0x4e5fc4], eax
call esi
mov edx, dword [0x4e6064]
push str.OBJ_obj2nid
push edx
mov dword [0x4e5fc0], eax
call esi
mov dword [0x4e5fbc], eax
mov eax, dword [0x4e6064]
push str.X509_NAME_ENTRY_get_object
push eax
call esi
mov ecx, dword [0x4e6064]
push str.X509_NAME_get_entry
push ecx
mov dword [0x4e5fb8], eax
call esi
mov edx, dword [0x4e6064]
push str.X509_NAME_entry_count
push edx
mov dword [0x4e5fb4], eax
call esi
mov dword [0x4e5fb0], eax
mov eax, dword [0x4e6064]
push str.X509_get_subject_name
push eax
call esi
mov ecx, dword [0x4e6064]
push str.X509_get_issuer_name
push ecx
mov dword [0x4e5fac], eax
call esi
mov edx, dword [0x4e6064]
push str.OBJ_nid2sn
push edx
mov dword [0x4e5fa8], eax
call esi
mov dword [0x4e5fa4], eax
push str.X509_NAME_ENTRY_get_data
mov eax, dword [0x4e6064]
push eax
call esi
mov ecx, dword [0x4e6064]
push str.X509_STORE_CTX_set_error
push ecx
mov dword [0x4e5fa0], eax
call esi
mov edx, dword [0x4e6064]
push str.X509_digest
push edx
mov dword [0x4e5f9c], eax
call esi
mov dword [0x4e5f98], eax
mov eax, dword [0x4e6064]
push str.EVP_sha1
push eax
call esi
mov ecx, dword [0x4e6064]
push str.X509_STORE_CTX_get_current_cert
push ecx
mov dword [0x4e5f94], eax
call esi
mov edx, dword [0x4e6064]
push str.X509_STORE_CTX_get_error
push edx
mov dword [0x4e5f90], eax
call esi
mov dword [0x4e5f8c], eax
mov eax, dword [0x4e6064]
push str.X509_free
push eax
call esi
mov ecx, dword [0x4e6064]
push str.X509_get_pubkey
push ecx
mov dword [0x4e5f88], eax
call esi
mov edx, dword [0x4e6064]
push str.BN_num_bits
push edx
mov dword [0x4e5f84], eax
call esi
mov dword [0x4e5f80], eax
mov eax, dword [0x4e6064]
push str.EVP_PKEY_free
push eax
call esi
mov ecx, dword [0x4e6064]
push str.X509_STORE_CTX_get_ex_data
push ecx
mov dword [0x4e5f7c], eax
call esi
mov edx, dword [0x4e6064]
push str.X509_NAME_oneline
push edx
mov dword [0x4e5f78], eax
call esi
mov dword [0x4e5f74], eax
mov eax, dword [0x4e6064]
push str.X509_verify_cert_error_string
push eax
call esi
mov ecx, dword [0x4e6064]
push str.X509_STORE_CTX_get_error_depth
push ecx
mov dword [0x4e5f70], eax
call esi
mov ecx, dword [0x4e5fe0]
mov dword [0x4e5f6c], eax
cmp ecx, edi
je 0x41aaeb
cmp dword [0x4e5fdc], edi
je 0x41aaeb
cmp dword [0x4e5fd8], edi
je 0x41aaeb
cmp dword [0x4e5fd4], edi
je 0x41aaeb
cmp dword [0x4e5fd0], edi
je 0x41aaeb
cmp dword [0x4e5fcc], edi
je 0x41aaeb
cmp dword [0x4e5fc8], edi
je 0x41aaeb
cmp dword [0x4e5fc4], edi
je 0x41aaeb
cmp dword [0x4e5fc0], edi
je 0x41aaeb
cmp dword [0x4e5fbc], edi
je 0x41aaeb
cmp dword [0x4e5fb8], edi
je 0x41aaeb
cmp dword [0x4e5fb4], edi
je 0x41aaeb
cmp dword [0x4e5fb0], edi
je 0x41aaeb
cmp dword [0x4e5fac], edi
je 0x41aaeb
cmp dword [0x4e5fa8], edi
je 0x41aaeb
cmp dword [0x4e5fa4], edi
je 0x41aaeb
cmp dword [0x4e5fa0], edi
je 0x41aaeb
cmp dword [0x4e5f9c], edi
je 0x41aaeb
cmp dword [0x4e5f98], edi
je 0x41aaeb
cmp dword [0x4e5f94], edi
je 0x41aaeb
cmp dword [0x4e5f90], edi
je 0x41aaeb
cmp dword [0x4e5f8c], edi
je 0x41aaeb
cmp dword [0x4e5f88], edi
je 0x41aaeb
cmp dword [0x4e5f84], edi
je 0x41aaeb
cmp dword [0x4e5f80], edi
je 0x41aaeb
cmp dword [0x4e5f7c], edi
je 0x41aaeb
cmp dword [0x4e5f78], edi
je 0x41aaeb
cmp dword [0x4e5f74], edi
je 0x41aaeb
cmp dword [0x4e5f70], edi
je 0x41aaeb
cmp eax, edi
je 0x41aaeb
push str.ssleay32.dll
call ebp
cmp eax, edi
mov dword [0x4e6060], eax
jne 0x41a643
mov eax, dword [0x4e6064]
cmp eax, edi
je 0x41aad3
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x41aad3
push str.SSL_state_string_long
push eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_state
push edx
mov dword [0x4e6054], eax
call esi
mov dword [0x4e6050], eax
mov eax, dword [0x4e6060]
push str.SSL_set_info_callback
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSL_set_bio
push ecx
mov dword [0x4e604c], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_set_connect_state
push edx
mov dword [0x4e6048], eax
call esi
mov dword [0x4e6044], eax
mov eax, dword [0x4e6060]
push str.SSL_set_session
push eax
call esi
mov ecx, dword [0x4e6060]
push str.BIO_f_ssl
push ecx
mov dword [0x4e6040], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_new
push edx
mov dword [0x4e603c], eax
call esi
mov dword [0x4e6038], eax
mov eax, dword [0x4e6060]
push str.SSL_CTX_new
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSLv23_method
push ecx
mov dword [0x4e6034], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_load_error_strings
push edx
mov dword [0x4e6030], eax
call esi
mov dword [0x4e602c], eax
mov eax, dword [0x4e6060]
push str.SSL_library_init
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSL_CTX_free
push ecx
mov dword [0x4e6028], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_free
push edx
mov dword [0x4e6024], eax
call esi
mov dword [0x4e6020], eax
mov eax, dword [0x4e6060]
push str.SSL_get_error
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSL_shutdown
push ecx
mov dword [0x4e601c], eax
call esi
mov edx, dword [0x4e6060]
mov dword [0x4e6018], eax
push str.SSL_alert_type_string_long
push edx
call esi
mov dword [0x4e6014], eax
mov eax, dword [0x4e6060]
push str.SSL_alert_desc_string_long
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSL_CTX_set_verify
push ecx
mov dword [0x4e6010], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_CTX_get_cert_store
push edx
mov dword [0x4e600c], eax
call esi
mov dword [0x4e6008], eax
mov eax, dword [0x4e6060]
push str.SSL_get_verify_result
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSL_get_peer_certificate
push ecx
mov dword [0x4e6004], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_get_version
push edx
mov dword [0x4e6000], eax
call esi
mov dword [0x4e5ffc], eax
mov eax, dword [0x4e6060]
push str.SSL_get_current_cipher
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSL_CIPHER_get_name
push ecx
mov dword [0x4e5ff8], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_CIPHER_get_version
push edx
mov dword [0x4e5ff4], eax
call esi
mov dword [0x4e5ff0], eax
mov eax, dword [0x4e6060]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push eax
call esi
mov ecx, dword [0x4e6060]
push str.SSL_CTX_load_verify_locations
push ecx
mov dword [0x4e5fec], eax
call esi
mov edx, dword [0x4e6060]
push str.SSL_ctrl
push edx
mov dword [0x4e5fe8], eax
call esi
mov ecx, dword [0x4e6054]
mov dword [0x4e5fe4], eax
cmp ecx, edi
je 0x41aab3
cmp dword [0x4e6050], edi
je 0x41aab3
cmp dword [0x4e604c], edi
je 0x41aab3
cmp dword [0x4e6048], edi
je 0x41aab3
cmp dword [0x4e6044], edi
je 0x41aab3
cmp dword [0x4e6040], edi
je 0x41aab3
cmp dword [0x4e603c], edi
je 0x41aab3
cmp dword [0x4e6038], edi
je 0x41aab3
cmp dword [0x4e6034], edi
je 0x41aab3
cmp dword [0x4e6030], edi
je 0x41aab3
mov ecx, dword [0x4e602c]
cmp ecx, edi
je 0x41aab3
cmp dword [0x4e6028], edi
je 0x41aab3
cmp dword [0x4e6024], edi
je 0x41aab3
cmp dword [0x4e6020], edi
je 0x41aab3
cmp dword [0x4e601c], edi
je 0x41aab3
cmp dword [0x4e6018], edi
je 0x41aab3
cmp dword [0x4e6014], edi
je 0x41aab3
cmp dword [0x4e6010], edi
je 0x41aab3
cmp dword [0x4e600c], edi
je 0x41aab3
cmp dword [0x4e6008], edi
je 0x41aab3
cmp dword [0x4e6004], edi
je 0x41aab3
cmp dword [0x4e6000], edi
je 0x41aab3
cmp dword [0x4e5ffc], edi
je 0x41aab3
cmp dword [0x4e5ff8], edi
je 0x41aab3
cmp dword [0x4e5ff4], edi
je 0x41aab3
cmp dword [0x4e5ff0], edi
je 0x41aab3
cmp dword [0x4e5fec], edi
je 0x41aab3
cmp dword [0x4e5fe8], edi
je 0x41aab3
cmp eax, edi
je 0x41aab3
call ecx
call dword [0x4e6028]
test eax, eax
jne 0x41a9f1
mov eax, dword [0x4e6060]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x4e6064]
mov dword [0x4e6060], edi
push ecx
call esi
mov eax, dword [0x4e5f68]
mov dword [0x4e6064], edi
cmp eax, edi
je 0x41aa41
jmp 0x41aa36
call dword [0x4e6030]
push eax
call dword [0x4e6034]
add esp, 4
cmp eax, edi
mov dword [0x4e6068], eax
jne 0x41aa61
mov edx, dword [0x4e6060]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x4e6064]
mov dword [0x4e6060], edi
push eax
call esi
mov eax, dword [0x4e5f68]
mov dword [0x4e6064], edi
cmp eax, edi
je 0x41aa41
push 0x4e5f50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x20], edi
jne 0x41aa5a
push 4
push 1
push 1
mov ecx, ebx
mov dword [ebx + 0x20], 1
call fcn.00418420
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret
push 0x41ac70
push 1
push eax
call dword [0x4e600c]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [0x4e6068]
push edi
push ecx
push edx
call dword [0x4e5fe8]
add esp, 0x18
mov ecx, dword [0x4e605c]
mov eax, dword [0x4e5f68]
inc ecx
cmp eax, edi
mov dword [0x4e605c], ecx
je 0x41aaa5
push 0x4e5f50
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 [0x4e6060]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov eax, dword [0x4e6064]
mov dword [0x4e6060], edi
cmp eax, edi
je 0x41aad3
push eax
call esi
mov eax, dword [0x4e5f68]
mov dword [0x4e6064], edi
cmp eax, edi
je 0x41a260
jmp 0x41a255
mov ecx, dword [0x4e6060]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov edx, dword [0x4e6064]
mov dword [0x4e6060], edi
push edx
jmp 0x41aad1