Function at 0x41a670
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 0x41af2c
cmp dword [0x4e6f28], edi
je 0x41a694
push 0x4e6f10
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4e701c], edi
jne 0x41af04
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.libeay32.dll
call ebp
cmp eax, edi
mov dword [0x4e7024], eax
jne 0x41a704
mov eax, dword [0x4e7020]
cmp eax, edi
je 0x41a6c6
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x4e6f28]
mov dword [0x4e7020], edi
cmp eax, edi
je 0x41a6e0
push 0x4e6f10
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x20], edi
jne 0x41aeda
push 2
push 1
push 1
mov ecx, ebx
mov dword [ebx + 0x20], 1
call fcn.004188b0
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 [0x4e6fa0], eax
mov eax, dword [0x4e7024]
push str.BIO_read
push eax
call esi
mov ecx, dword [0x4e7024]
push str.BIO_ctrl
push ecx
mov dword [0x4e6f9c], eax
call esi
mov edx, dword [0x4e7024]
push str.BIO_write
push edx
mov dword [0x4e6f98], eax
call esi
mov dword [0x4e6f94], eax
mov eax, dword [0x4e7024]
push str.BIO_ctrl_get_write_guarantee
push eax
call esi
mov ecx, dword [0x4e7024]
push str.BIO_new_bio_pair
push ecx
mov dword [0x4e6f90], eax
call esi
mov edx, dword [0x4e7024]
push str.BIO_new
push edx
mov dword [0x4e6f8c], eax
call esi
mov dword [0x4e6f88], eax
mov eax, dword [0x4e7024]
push str.BIO_free
push eax
call esi
mov ecx, dword [0x4e7024]
push str.i2t_ASN1_OBJECT
push ecx
mov dword [0x4e6f84], eax
call esi
mov edx, dword [0x4e7024]
push str.OBJ_obj2nid
push edx
mov dword [0x4e6f80], eax
call esi
mov dword [0x4e6f7c], eax
mov eax, dword [0x4e7024]
push str.X509_NAME_ENTRY_get_object
push eax
call esi
mov ecx, dword [0x4e7024]
push str.X509_NAME_get_entry
push ecx
mov dword [0x4e6f78], eax
call esi
mov edx, dword [0x4e7024]
push str.X509_NAME_entry_count
push edx
mov dword [0x4e6f74], eax
call esi
mov dword [0x4e6f70], eax
mov eax, dword [0x4e7024]
push str.X509_get_subject_name
push eax
call esi
mov ecx, dword [0x4e7024]
push str.X509_get_issuer_name
push ecx
mov dword [0x4e6f6c], eax
call esi
mov edx, dword [0x4e7024]
push str.OBJ_nid2sn
push edx
mov dword [0x4e6f68], eax
call esi
mov dword [0x4e6f64], eax
push str.X509_NAME_ENTRY_get_data
mov eax, dword [0x4e7024]
push eax
call esi
mov ecx, dword [0x4e7024]
push str.X509_STORE_CTX_set_error
push ecx
mov dword [0x4e6f60], eax
call esi
mov edx, dword [0x4e7024]
push str.X509_digest
push edx
mov dword [0x4e6f5c], eax
call esi
mov dword [0x4e6f58], eax
mov eax, dword [0x4e7024]
push str.EVP_sha1
push eax
call esi
mov ecx, dword [0x4e7024]
push str.X509_STORE_CTX_get_current_cert
push ecx
mov dword [0x4e6f54], eax
call esi
mov edx, dword [0x4e7024]
push str.X509_STORE_CTX_get_error
push edx
mov dword [0x4e6f50], eax
call esi
mov dword [0x4e6f4c], eax
mov eax, dword [0x4e7024]
push str.X509_free
push eax
call esi
mov ecx, dword [0x4e7024]
push str.X509_get_pubkey
push ecx
mov dword [0x4e6f48], eax
call esi
mov edx, dword [0x4e7024]
push str.BN_num_bits
push edx
mov dword [0x4e6f44], eax
call esi
mov dword [0x4e6f40], eax
mov eax, dword [0x4e7024]
push str.EVP_PKEY_free
push eax
call esi
mov ecx, dword [0x4e7024]
push str.X509_STORE_CTX_get_ex_data
push ecx
mov dword [0x4e6f3c], eax
call esi
mov edx, dword [0x4e7024]
push str.X509_NAME_oneline
push edx
mov dword [0x4e6f38], eax
call esi
mov dword [0x4e6f34], eax
mov eax, dword [0x4e7024]
push str.X509_verify_cert_error_string
push eax
call esi
mov ecx, dword [0x4e7024]
push str.X509_STORE_CTX_get_error_depth
push ecx
mov dword [0x4e6f30], eax
call esi
mov ecx, dword [0x4e6fa0]
mov dword [0x4e6f2c], eax
cmp ecx, edi
je 0x41af6b
cmp dword [0x4e6f9c], edi
je 0x41af6b
cmp dword [0x4e6f98], edi
je 0x41af6b
cmp dword [0x4e6f94], edi
je 0x41af6b
cmp dword [0x4e6f90], edi
je 0x41af6b
cmp dword [0x4e6f8c], edi
je 0x41af6b
cmp dword [0x4e6f88], edi
je 0x41af6b
cmp dword [0x4e6f84], edi
je 0x41af6b
cmp dword [0x4e6f80], edi
je 0x41af6b
cmp dword [0x4e6f7c], edi
je 0x41af6b
cmp dword [0x4e6f78], edi
je 0x41af6b
cmp dword [0x4e6f74], edi
je 0x41af6b
cmp dword [0x4e6f70], edi
je 0x41af6b
cmp dword [0x4e6f6c], edi
je 0x41af6b
cmp dword [0x4e6f68], edi
je 0x41af6b
cmp dword [0x4e6f64], edi
je 0x41af6b
cmp dword [0x4e6f60], edi
je 0x41af6b
cmp dword [0x4e6f5c], edi
je 0x41af6b
cmp dword [0x4e6f58], edi
je 0x41af6b
cmp dword [0x4e6f54], edi
je 0x41af6b
cmp dword [0x4e6f50], edi
je 0x41af6b
cmp dword [0x4e6f4c], edi
je 0x41af6b
cmp dword [0x4e6f48], edi
je 0x41af6b
cmp dword [0x4e6f44], edi
je 0x41af6b
cmp dword [0x4e6f40], edi
je 0x41af6b
cmp dword [0x4e6f3c], edi
je 0x41af6b
cmp dword [0x4e6f38], edi
je 0x41af6b
cmp dword [0x4e6f34], edi
je 0x41af6b
cmp dword [0x4e6f30], edi
je 0x41af6b
cmp eax, edi
je 0x41af6b
push str.ssleay32.dll
call ebp
cmp eax, edi
mov dword [0x4e7020], eax
jne 0x41aac3
mov eax, dword [0x4e7024]
cmp eax, edi
je 0x41af53
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x41af53
push str.SSL_state_string_long
push eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_state
push edx
mov dword [0x4e7014], eax
call esi
mov dword [0x4e7010], eax
mov eax, dword [0x4e7020]
push str.SSL_set_info_callback
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSL_set_bio
push ecx
mov dword [0x4e700c], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_set_connect_state
push edx
mov dword [0x4e7008], eax
call esi
mov dword [0x4e7004], eax
mov eax, dword [0x4e7020]
push str.SSL_set_session
push eax
call esi
mov ecx, dword [0x4e7020]
push str.BIO_f_ssl
push ecx
mov dword [0x4e7000], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_new
push edx
mov dword [0x4e6ffc], eax
call esi
mov dword [0x4e6ff8], eax
mov eax, dword [0x4e7020]
push str.SSL_CTX_new
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSLv23_method
push ecx
mov dword [0x4e6ff4], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_load_error_strings
push edx
mov dword [0x4e6ff0], eax
call esi
mov dword [0x4e6fec], eax
mov eax, dword [0x4e7020]
push str.SSL_library_init
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSL_CTX_free
push ecx
mov dword [0x4e6fe8], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_free
push edx
mov dword [0x4e6fe4], eax
call esi
mov dword [0x4e6fe0], eax
mov eax, dword [0x4e7020]
push str.SSL_get_error
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSL_shutdown
push ecx
mov dword [0x4e6fdc], eax
call esi
mov edx, dword [0x4e7020]
mov dword [0x4e6fd8], eax
push str.SSL_alert_type_string_long
push edx
call esi
mov dword [0x4e6fd4], eax
mov eax, dword [0x4e7020]
push str.SSL_alert_desc_string_long
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSL_CTX_set_verify
push ecx
mov dword [0x4e6fd0], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_CTX_get_cert_store
push edx
mov dword [0x4e6fcc], eax
call esi
mov dword [0x4e6fc8], eax
mov eax, dword [0x4e7020]
push str.SSL_get_verify_result
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSL_get_peer_certificate
push ecx
mov dword [0x4e6fc4], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_get_version
push edx
mov dword [0x4e6fc0], eax
call esi
mov dword [0x4e6fbc], eax
mov eax, dword [0x4e7020]
push str.SSL_get_current_cipher
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSL_CIPHER_get_name
push ecx
mov dword [0x4e6fb8], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_CIPHER_get_version
push edx
mov dword [0x4e6fb4], eax
call esi
mov dword [0x4e6fb0], eax
mov eax, dword [0x4e7020]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push eax
call esi
mov ecx, dword [0x4e7020]
push str.SSL_CTX_load_verify_locations
push ecx
mov dword [0x4e6fac], eax
call esi
mov edx, dword [0x4e7020]
push str.SSL_ctrl
push edx
mov dword [0x4e6fa8], eax
call esi
mov ecx, dword [0x4e7014]
mov dword [0x4e6fa4], eax
cmp ecx, edi
je 0x41af33
cmp dword [0x4e7010], edi
je 0x41af33
cmp dword [0x4e700c], edi
je 0x41af33
cmp dword [0x4e7008], edi
je 0x41af33
cmp dword [0x4e7004], edi
je 0x41af33
cmp dword [0x4e7000], edi
je 0x41af33
cmp dword [0x4e6ffc], edi
je 0x41af33
cmp dword [0x4e6ff8], edi
je 0x41af33
cmp dword [0x4e6ff4], edi
je 0x41af33
cmp dword [0x4e6ff0], edi
je 0x41af33
mov ecx, dword [0x4e6fec]
cmp ecx, edi
je 0x41af33
cmp dword [0x4e6fe8], edi
je 0x41af33
cmp dword [0x4e6fe4], edi
je 0x41af33
cmp dword [0x4e6fe0], edi
je 0x41af33
cmp dword [0x4e6fdc], edi
je 0x41af33
cmp dword [0x4e6fd8], edi
je 0x41af33
cmp dword [0x4e6fd4], edi
je 0x41af33
cmp dword [0x4e6fd0], edi
je 0x41af33
cmp dword [0x4e6fcc], edi
je 0x41af33
cmp dword [0x4e6fc8], edi
je 0x41af33
cmp dword [0x4e6fc4], edi
je 0x41af33
cmp dword [0x4e6fc0], edi
je 0x41af33
cmp dword [0x4e6fbc], edi
je 0x41af33
cmp dword [0x4e6fb8], edi
je 0x41af33
cmp dword [0x4e6fb4], edi
je 0x41af33
cmp dword [0x4e6fb0], edi
je 0x41af33
cmp dword [0x4e6fac], edi
je 0x41af33
cmp dword [0x4e6fa8], edi
je 0x41af33
cmp eax, edi
je 0x41af33
call ecx
call dword [0x4e6fe8]
test eax, eax
jne 0x41ae71
mov eax, dword [0x4e7020]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x4e7024]
mov dword [0x4e7020], edi
push ecx
call esi
mov eax, dword [0x4e6f28]
mov dword [0x4e7024], edi
cmp eax, edi
je 0x41aec1
jmp 0x41aeb6
call dword [0x4e6ff0]
push eax
call dword [0x4e6ff4]
add esp, 4
cmp eax, edi
mov dword [0x4e7028], eax
jne 0x41aee1
mov edx, dword [0x4e7020]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x4e7024]
mov dword [0x4e7020], edi
push eax
call esi
mov eax, dword [0x4e6f28]
mov dword [0x4e7024], edi
cmp eax, edi
je 0x41aec1
push 0x4e6f10
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebx + 0x20], edi
jne 0x41aeda
push 4
push 1
push 1
mov ecx, ebx
mov dword [ebx + 0x20], 1
call fcn.004188b0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret
push 0x41b0e0
push 1
push eax
call dword [0x4e6fcc]
mov ecx, dword [ebx + 0x3c]
mov edx, dword [0x4e7028]
push edi
push ecx
push edx
call dword [0x4e6fa8]
add esp, 0x18
mov ecx, dword [0x4e701c]
mov eax, dword [0x4e6f28]
inc ecx
cmp eax, edi
mov dword [0x4e701c], ecx
je 0x41af25
push 0x4e6f10
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 [0x4e7020]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov eax, dword [0x4e7024]
mov dword [0x4e7020], edi
cmp eax, edi
je 0x41af53
push eax
call esi
mov eax, dword [0x4e6f28]
mov dword [0x4e7024], edi
cmp eax, edi
je 0x41a6e0
jmp 0x41a6d5
mov ecx, dword [0x4e7020]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov edx, dword [0x4e7024]
mov dword [0x4e7020], edi
push edx
jmp 0x41af51