Function at 0x40bf30
Capabilities:
Link many functions at runtime

Disassembly:
mov al, byte [0x417008]
push ebx
xor ebx, ebx
push ebp
push esi
cmp al, bl
push edi
je 0x40bf49
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov ebp, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x416ea0
call ebp
push 0x416ea0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.ssleay32.dll
call edi
cmp eax, ebx
mov dword [0x41700c], eax
je 0x40cbd1
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SSL_state_string_long
push eax
call esi
mov dword [0x416f18], eax
mov eax, dword [0x41700c]
push str.SSL_state
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_set_info_callback
push ecx
mov dword [0x416fc0], eax
call esi
mov edx, dword [0x41700c]
push str.SSL_set_bio
push edx
mov dword [0x416f40], eax
call esi
mov dword [0x416f7c], eax
mov eax, dword [0x41700c]
push str.SSL_set_connect_state
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_set_session
push ecx
mov dword [0x416fc4], eax
call esi
mov edx, dword [0x41700c]
push str.BIO_f_ssl
push edx
mov dword [0x416eec], eax
call esi
mov dword [0x416edc], eax
mov eax, dword [0x41700c]
push str.SSL_new
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_CTX_new
push ecx
mov dword [0x416f08], eax
call esi
mov edx, dword [0x41700c]
push str.SSLv23_method
push edx
mov dword [0x416fd0], eax
call esi
mov dword [0x416fd8], eax
mov eax, dword [0x41700c]
push str.SSLv3_method
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSLv3_client_method
push ecx
mov dword [0x416fb0], eax
call esi
mov edx, dword [0x41700c]
push str.TLSv1_client_method
push edx
mov dword [0x416f44], eax
call esi
mov dword [0x416fa4], eax
mov eax, dword [0x41700c]
push str.SSL_load_error_strings
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_library_init
push ecx
mov dword [0x416ebc], eax
call esi
mov edx, dword [0x41700c]
push str.SSL_CTX_free
push edx
mov dword [0x416ee4], eax
call esi
mov dword [0x416fb8], eax
push str.SSL_free
mov eax, dword [0x41700c]
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_get_error
push ecx
mov dword [0x416fe4], eax
call esi
mov edx, dword [0x41700c]
push str.SSL_shutdown
push edx
mov dword [0x416f38], eax
call esi
mov dword [0x416fc8], eax
mov eax, dword [0x41700c]
push str.SSL_alert_type_string_long
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_alert_desc_string_long
push ecx
mov dword [0x416f6c], eax
call esi
mov edx, dword [0x41700c]
push str.SSL_CTX_set_verify
push edx
mov dword [0x416f58], eax
call esi
mov dword [0x416f90], eax
mov eax, dword [0x41700c]
push str.SSL_CTX_get_cert_store
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_get_verify_result
push ecx
mov dword [0x416ed0], eax
call esi
mov edx, dword [0x41700c]
push str.SSL_get_peer_certificate
push edx
mov dword [0x416f1c], eax
call esi
mov dword [0x416ee8], eax
mov eax, dword [0x41700c]
push str.SSL_get_version
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_get_current_cipher
push ecx
mov dword [0x416f48], eax
call esi
mov edx, dword [0x41700c]
push str.SSL_CIPHER_get_name
push edx
mov dword [0x416f20], eax
call esi
mov dword [0x416f4c], eax
mov eax, dword [0x41700c]
push str.SSL_CIPHER_get_version
push eax
call esi
mov ecx, dword [0x41700c]
push str.SSL_CTX_set_cipher_list
push ecx
mov dword [0x416e98], eax
call esi
cmp eax, ebx
mov dword [0x416f04], eax
je 0x40cbaf
cmp dword [0x416f18], ebx
je 0x40cbaf
cmp dword [0x416fc0], ebx
je 0x40cbaf
cmp dword [0x416f40], ebx
je 0x40cbaf
cmp dword [0x416f7c], ebx
je 0x40cbaf
cmp dword [0x416fc4], ebx
je 0x40cbaf
cmp dword [0x416eec], ebx
je 0x40cbaf
cmp dword [0x416edc], ebx
je 0x40cbaf
cmp dword [0x416f08], ebx
je 0x40cbaf
cmp dword [0x416fd0], ebx
je 0x40cbaf
cmp dword [0x416fd8], ebx
je 0x40cbaf
cmp dword [0x416fb0], ebx
je 0x40cbaf
cmp dword [0x416f44], ebx
je 0x40cbaf
cmp dword [0x416fa4], ebx
je 0x40cbaf
cmp dword [0x416ebc], ebx
je 0x40cbaf
cmp dword [0x416ee4], ebx
je 0x40cbaf
cmp dword [0x416fb8], ebx
je 0x40cbaf
cmp dword [0x416fe4], ebx
je 0x40cbaf
cmp dword [0x416f38], ebx
je 0x40cbaf
cmp dword [0x416fc8], ebx
je 0x40cbaf
cmp dword [0x416f6c], ebx
je 0x40cbaf
cmp dword [0x416f58], ebx
je 0x40cbaf
cmp dword [0x416f90], ebx
je 0x40cbaf
cmp dword [0x416ed0], ebx
je 0x40cbaf
cmp dword [0x416f1c], ebx
je 0x40cbaf
cmp dword [0x416ee8], ebx
je 0x40cbaf
cmp dword [0x416f48], ebx
je 0x40cbaf
cmp dword [0x416f20], ebx
je 0x40cbaf
cmp dword [0x416f4c], ebx
je 0x40cbaf
cmp dword [0x416e98], ebx
je 0x40cbaf
push str.libeay32.dll
call edi
cmp eax, ebx
mov dword [0x417010], eax
jne 0x40c32b
mov edx, dword [0x41700c]
push edx
jmp 0x40cbc5
push str.ENGINE_by_id
push eax
call esi
mov dword [0x416fa8], eax
mov eax, dword [0x417010]
push str.ENGINE_init
push eax
call esi
mov ecx, dword [0x417010]
push str.ENGINE_set_default
push ecx
mov dword [0x416f0c], eax
call esi
mov edx, dword [0x417010]
push str.ENGINE_load_builtin_engines
push edx
mov dword [0x416ff0], eax
call esi
mov dword [0x416f24], eax
mov eax, dword [0x417010]
push str.ENGINE_get_id
push eax
call esi
mov ecx, dword [0x417010]
push str.ENGINE_ctrl_cmd_string
push ecx
mov dword [0x416e90], eax
call esi
mov edx, dword [0x417010]
push str.ENGINE_free
push edx
mov dword [0x416f84], eax
call esi
mov dword [0x416ecc], eax
mov eax, dword [0x417010]
push str.ENGINE_register_all_complete
push eax
call esi
mov ecx, dword [0x417010]
push str.BIO_test_flags
push ecx
mov dword [0x416f54], eax
call esi
mov edx, dword [0x417010]
push str.BIO_ctrl_pending
push edx
mov dword [0x416f78], eax
call esi
mov dword [0x416f14], eax
mov eax, dword [0x417010]
push str.BIO_read
push eax
call esi
mov ecx, dword [0x417010]
push str.BIO_ctrl
push ecx
mov dword [0x416f68], eax
call esi
mov edx, dword [0x417010]
push str.BIO_write
push edx
mov dword [0x416ef0], eax
call esi
mov dword [0x416fac], eax
mov eax, dword [0x417010]
push str.BIO_ctrl_get_write_guarantee
push eax
call esi
mov ecx, dword [0x417010]
push str.BIO_ctrl_get_read_request
push ecx
mov dword [0x416fec], eax
call esi
mov edx, dword [0x417010]
push str.BIO_new_bio_pair
push edx
mov dword [0x416f34], eax
call esi
mov dword [0x416ef8], eax
mov eax, dword [0x417010]
push str.BIO_new
push eax
call esi
mov ecx, dword [0x417010]
push str.BIO_free
push ecx
mov dword [0x416f98], eax
call esi
mov edx, dword [0x417010]
push str.i2t_ASN1_OBJECT
push edx
mov dword [0x416e94], eax
call esi
mov dword [0x416f10], eax
mov eax, dword [0x417010]
push str.OBJ_obj2nid
push eax
call esi
mov ecx, dword [0x417010]
push str.X509_NAME_ENTRY_get_object
push ecx
mov dword [0x416f50], eax
call esi
mov edx, dword [0x417010]
push str.X509_NAME_get_entry
push edx
mov dword [0x416ed8], eax
call esi
mov dword [0x416ec4], eax
mov eax, dword [0x417010]
push str.X509_NAME_entry_count
push eax
call esi
mov ecx, dword [0x417010]
push str.X509_get_subject_name
push ecx
mov dword [0x416f00], eax
call esi
mov edx, dword [0x417010]
push str.X509_get_issuer_name
push edx
mov dword [0x416fbc], eax
call esi
mov dword [0x416efc], eax
mov eax, dword [0x417010]
push str.X509_digest
push eax
call esi
mov ecx, dword [0x417010]
push str.OBJ_nid2sn
push ecx
mov dword [0x416ec0], eax
call esi
mov edx, dword [0x417010]
push str.X509_NAME_ENTRY_get_data
push edx
mov dword [0x416f8c], eax
call esi
mov dword [0x416f5c], eax
mov eax, dword [0x417010]
push str.X509_STORE_CTX_set_error
push eax
call esi
mov ecx, dword [0x417010]
push str.EVP_sha1
push ecx
mov dword [0x416f74], eax
call esi
mov edx, dword [0x417010]
push str.X509_STORE_CTX_get_current_cert
push edx
mov dword [0x416ed4], eax
call esi
mov dword [0x416f2c], eax
mov eax, dword [0x417010]
push str.X509_STORE_CTX_get_error
push eax
call esi
mov ecx, dword [0x417010]
push str.X509_free
mov dword [0x416fb4], eax
push ecx
call esi
mov edx, dword [0x417010]
push str.X509_get_pubkey
push edx
mov dword [0x416f64], eax
call esi
mov dword [0x416f30], eax
mov eax, dword [0x417010]
push str.BN_num_bits
push eax
call esi
mov ecx, dword [0x417010]
push str.EVP_PKEY_free
push ecx
mov dword [0x416f94], eax
call esi
mov edx, dword [0x417010]
push str.ERR_get_error
push edx
mov dword [0x416ef4], eax
call esi
mov dword [0x416ec8], eax
mov eax, dword [0x417010]
push str.ERR_error_string
push eax
call esi
mov ecx, dword [0x417010]
push str.ERR_load_BIO_strings
push ecx
mov dword [0x416f60], eax
call esi
mov edx, dword [0x417010]
push str.OPENSSL_add_all_algorithms_noconf
push edx
mov dword [0x416fa0], eax
call esi
mov dword [0x416f28], eax
mov eax, dword [0x417010]
push str.OpenSSL_add_all_ciphers
push eax
call esi
mov ecx, dword [0x417010]
push str.OpenSSL_add_all_digests
push ecx
mov dword [0x416fcc], eax
call esi
mov edx, dword [0x417010]
push str.ENGINE_set_ex_data
push edx
mov dword [0x416fe8], eax
call esi
mov dword [0x416fe0], eax
mov eax, dword [0x417010]
push str.ENGINE_set_default_SM2
push eax
call esi
mov ecx, dword [0x417010]
push str.ENGINE_set_default_digests
push ecx
mov dword [0x416f88], eax
call esi
mov edx, dword [0x417010]
push str.CRYPTO_num_locks
push edx
mov dword [0x416eb8], eax
call esi
mov dword [0x416f9c], eax
mov eax, dword [0x417010]
push str.CRYPTO_malloc
push eax
call esi
mov ecx, dword [0x417010]
push str.CRYPTO_free
push ecx
mov dword [0x416f70], eax
call esi
mov edx, dword [0x417010]
push str.CRYPTO_set_id_callback
push edx
mov dword [0x416fdc], eax
call esi
mov dword [0x416ee0], eax
mov eax, dword [0x417010]
push str.CRYPTO_set_locking_callback
push eax
call esi
mov ecx, dword [0x416fa8]
mov dword [0x416f80], eax
cmp ecx, ebx
je 0x40cb6b
cmp dword [0x416f0c], ebx
je 0x40cb6b
cmp dword [0x416ff0], ebx
je 0x40cb6b
cmp dword [0x416f24], ebx
je 0x40cb6b
cmp dword [0x416e90], ebx
je 0x40cb6b
cmp dword [0x416f84], ebx
je 0x40cb6b
cmp dword [0x416ecc], ebx
je 0x40cb6b
cmp dword [0x416f54], ebx
je 0x40cb6b
cmp dword [0x416f78], ebx
je 0x40cb6b
cmp dword [0x416f14], ebx
je 0x40cb6b
cmp dword [0x416f68], ebx
je 0x40cb6b
cmp dword [0x416ef0], ebx
je 0x40cb6b
cmp dword [0x416fac], ebx
je 0x40cb6b
cmp dword [0x416fec], ebx
je 0x40cb6b
cmp dword [0x416f34], ebx
je 0x40cb6b
cmp dword [0x416ef8], ebx
je 0x40cb6b
cmp dword [0x416f98], ebx
je 0x40cb6b
cmp dword [0x416e94], ebx
je 0x40cb6b
cmp dword [0x416f10], ebx
je 0x40cb6b
cmp dword [0x416f50], ebx
je 0x40cb6b
cmp dword [0x416ed8], ebx
je 0x40cb6b
cmp dword [0x416ec4], ebx
je 0x40cb6b
cmp dword [0x416f00], ebx
je 0x40cb6b
cmp dword [0x416fbc], ebx
je 0x40cb6b
cmp dword [0x416efc], ebx
je 0x40cb6b
cmp dword [0x416ec0], ebx
je 0x40cb6b
cmp dword [0x416f8c], ebx
je 0x40cb6b
cmp dword [0x416f5c], ebx
je 0x40cb6b
cmp dword [0x416f74], ebx
je 0x40cb6b
cmp dword [0x416ed4], ebx
je 0x40cb6b
cmp dword [0x416f2c], ebx
je 0x40cb6b
cmp dword [0x416fb4], ebx
je 0x40cb6b
cmp dword [0x416f64], ebx
je 0x40cb6b
cmp dword [0x416f30], ebx
je 0x40cb6b
cmp dword [0x416f94], ebx
je 0x40cb6b
cmp dword [0x416ef4], ebx
je 0x40cb6b
cmp dword [0x416ec8], ebx
je 0x40cb6b
cmp dword [0x416f60], ebx
je 0x40cb6b
cmp dword [0x416fa0], ebx
je 0x40cb6b
cmp dword [0x416fcc], ebx
je 0x40cb6b
cmp dword [0x416fe8], ebx
je 0x40cb6b
cmp dword [0x416fe0], ebx
je 0x40cb6b
cmp dword [0x416f88], ebx
je 0x40cb6b
cmp dword [0x416eb8], ebx
je 0x40cb6b
cmp dword [0x416f9c], ebx
je 0x40cb6b
cmp dword [0x416f70], ebx
je 0x40cb6b
cmp dword [0x416fdc], ebx
je 0x40cb6b
cmp dword [0x416ee0], ebx
je 0x40cb6b
cmp eax, ebx
je 0x40cb6b
cmp dword [0x416f28], ebx
je 0x40cb6b
push str.smEngine.dll
call edi
cmp eax, ebx
mov dword [0x417014], eax
jne 0x40c975
push 0x414e2c
push 4
call fcn.00402250
mov ecx, dword [0x41700c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 8
push ecx
call esi
mov edx, dword [0x417010]
mov dword [0x41700c], ebx
push edx
call esi
push 0x416ea0
mov dword [0x417010], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
push str.ENGINE_load_swxa
push eax
call esi
mov dword [0x416f3c], eax
mov eax, dword [0x417014]
push str.ENGINE_load_log
push eax
call esi
mov ecx, dword [0x416f3c]
mov dword [0x416fd4], eax
cmp ecx, ebx
je 0x40cb18
cmp eax, ebx
je 0x40cb18
call dword [0x416ebc]
call dword [0x416fa0]
call fcn.0040b190
call dword [0x416ee4]
test eax, eax
je 0x40c9f5
push str.SSLVPN
push str.Client
push str.111111
push ebx
push 4
call fcn.0040b2e0
call dword [0x416fa4]
push eax
call dword [0x416fd0]
add esp, 0x18
cmp eax, ebx
mov dword [0x417004], eax
jne 0x40ca39
mov ecx, dword [0x41700c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov edx, dword [0x417010]
mov dword [0x41700c], ebx
push edx
call esi
mov eax, dword [0x417014]
mov dword [0x417010], ebx
push eax
call esi
push 0x416ea0
mov dword [0x417014], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
mov ecx, dword [0x417000]
cmp ecx, 3
jne 0x40ca4b
push str.ECC_SM1_SM3
jmp 0x40ca55
cmp ecx, 4
jne 0x40ca5f
push str.ECC_SM4_SM3
push eax
call dword [0x416f04]
add esp, 8
mov edx, dword [0x417018]
push 0x409
inc edx
push 0x414ea8
mov dword [0x417018], edx
call dword [0x416f9c]
lea ecx, [eax + eax*2]
shl ecx, 3
push ecx
call dword [0x416f70]
add esp, 0xc
mov dword [0x416ff4], eax
push 0x40a
push str...EventioEventSocketOpenSSL.cpp
call dword [0x416f9c]
shl eax, 2
push eax
call dword [0x416f70]
add esp, 0xc
mov dword [0x416ff8], eax
xor esi, esi
call dword [0x416f9c]
test eax, eax
jle 0x40cae3
xor edi, edi
mov edx, dword [0x416ff8]
mov dword [edx + esi*4], ebx
mov eax, dword [0x416ff4]
lea ecx, [edi + eax]
push ecx
call ebp
inc esi
add edi, 0x18
call dword [0x416f9c]
cmp esi, eax
jl 0x40cac1
push 0x40b4f0
call dword [0x416ee0]
push 0x40b500
call dword [0x416f80]
add esp, 8
mov byte [0x417008], 1
push 0x416ea0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
push str.Load_Openssl_smEngine_Failed.
push 4
call fcn.00402250
mov edx, dword [0x41700c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 8
push edx
call esi
mov eax, dword [0x417010]
mov dword [0x41700c], ebx
push eax
call esi
mov ecx, dword [0x417014]
mov dword [0x417010], ebx
push ecx
call esi
push 0x416ea0
mov dword [0x417014], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
push str.Load_Openssl2_Failed.
push 4
call fcn.00402250
mov edx, dword [0x41700c]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 8
push edx
call esi
mov eax, dword [0x417010]
mov dword [0x41700c], ebx
push eax
call esi
push 0x416ea0
mov dword [0x417010], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
push str.Load_Openssl1_Failed.
push 4
call fcn.00402250
mov ecx, dword [0x41700c]
add esp, 8
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x41700c], ebx
push 0x416ea0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret