Function at 0x100188d0
Capabilities:
Link many functions at runtime

Disassembly:
mov al, byte [0x10057fd4]
push ebx
xor ebx, ebx
push ebp
push esi
cmp al, bl
push edi
je 0x100188e9
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov ebp, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push 0x10057e70
call ebp
push 0x10057e70
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 [0x10057fd8], eax
je 0x10019571
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.SSL_state_string_long
push eax
call esi
mov dword [0x10057ee8], eax
mov eax, dword [0x10057fd8]
push str.SSL_state
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_set_info_callback
push ecx
mov dword [0x10057f90], eax
call esi
mov edx, dword [0x10057fd8]
push str.SSL_set_bio
push edx
mov dword [0x10057f10], eax
call esi
mov dword [0x10057f4c], eax
mov eax, dword [0x10057fd8]
push str.SSL_set_connect_state
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_set_session
push ecx
mov dword [0x10057f94], eax
call esi
mov edx, dword [0x10057fd8]
push str.BIO_f_ssl
push edx
mov dword [0x10057ebc], eax
call esi
mov dword [0x10057eac], eax
mov eax, dword [0x10057fd8]
push str.SSL_new
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_CTX_new
push ecx
mov dword [0x10057ed8], eax
call esi
mov edx, dword [0x10057fd8]
push str.SSLv23_method
push edx
mov dword [0x10057fa0], eax
call esi
mov dword [0x10057fa8], eax
mov eax, dword [0x10057fd8]
push str.SSLv3_method
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSLv3_client_method
push ecx
mov dword [0x10057f80], eax
call esi
mov edx, dword [0x10057fd8]
push str.TLSv1_client_method
push edx
mov dword [0x10057f14], eax
call esi
mov dword [0x10057f74], eax
mov eax, dword [0x10057fd8]
push str.SSL_load_error_strings
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_library_init
push ecx
mov dword [0x10057e8c], eax
call esi
mov edx, dword [0x10057fd8]
push str.SSL_CTX_free
push edx
mov dword [0x10057eb4], eax
call esi
mov dword [0x10057f88], eax
push str.SSL_free
mov eax, dword [0x10057fd8]
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_get_error
push ecx
mov dword [0x10057fb4], eax
call esi
mov edx, dword [0x10057fd8]
push str.SSL_shutdown
push edx
mov dword [0x10057f08], eax
call esi
mov dword [0x10057f98], eax
mov eax, dword [0x10057fd8]
push str.SSL_alert_type_string_long
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_alert_desc_string_long
push ecx
mov dword [0x10057f3c], eax
call esi
mov edx, dword [0x10057fd8]
push str.SSL_CTX_set_verify
push edx
mov dword [0x10057f28], eax
call esi
mov dword [0x10057f60], eax
mov eax, dword [0x10057fd8]
push str.SSL_CTX_get_cert_store
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_get_verify_result
push ecx
mov dword [0x10057ea0], eax
call esi
mov edx, dword [0x10057fd8]
push str.SSL_get_peer_certificate
push edx
mov dword [0x10057eec], eax
call esi
mov dword [0x10057eb8], eax
mov eax, dword [0x10057fd8]
push str.SSL_get_version
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_get_current_cipher
push ecx
mov dword [0x10057f18], eax
call esi
mov edx, dword [0x10057fd8]
push str.SSL_CIPHER_get_name
push edx
mov dword [0x10057ef0], eax
call esi
mov dword [0x10057f1c], eax
mov eax, dword [0x10057fd8]
push str.SSL_CIPHER_get_version
push eax
call esi
mov ecx, dword [0x10057fd8]
push str.SSL_CTX_set_cipher_list
push ecx
mov dword [0x10057e68], eax
call esi
cmp eax, ebx
mov dword [0x10057ed4], eax
je 0x1001954f
cmp dword [0x10057ee8], ebx
je 0x1001954f
cmp dword [0x10057f90], ebx
je 0x1001954f
cmp dword [0x10057f10], ebx
je 0x1001954f
cmp dword [0x10057f4c], ebx
je 0x1001954f
cmp dword [0x10057f94], ebx
je 0x1001954f
cmp dword [0x10057ebc], ebx
je 0x1001954f
cmp dword [0x10057eac], ebx
je 0x1001954f
cmp dword [0x10057ed8], ebx
je 0x1001954f
cmp dword [0x10057fa0], ebx
je 0x1001954f
cmp dword [0x10057fa8], ebx
je 0x1001954f
cmp dword [0x10057f80], ebx
je 0x1001954f
cmp dword [0x10057f14], ebx
je 0x1001954f
cmp dword [0x10057f74], ebx
je 0x1001954f
cmp dword [0x10057e8c], ebx
je 0x1001954f
cmp dword [0x10057eb4], ebx
je 0x1001954f
cmp dword [0x10057f88], ebx
je 0x1001954f
cmp dword [0x10057fb4], ebx
je 0x1001954f
cmp dword [0x10057f08], ebx
je 0x1001954f
cmp dword [0x10057f98], ebx
je 0x1001954f
cmp dword [0x10057f3c], ebx
je 0x1001954f
cmp dword [0x10057f28], ebx
je 0x1001954f
cmp dword [0x10057f60], ebx
je 0x1001954f
cmp dword [0x10057ea0], ebx
je 0x1001954f
cmp dword [0x10057eec], ebx
je 0x1001954f
cmp dword [0x10057eb8], ebx
je 0x1001954f
cmp dword [0x10057f18], ebx
je 0x1001954f
cmp dword [0x10057ef0], ebx
je 0x1001954f
cmp dword [0x10057f1c], ebx
je 0x1001954f
cmp dword [0x10057e68], ebx
je 0x1001954f
push str.libeay32.dll
call edi
cmp eax, ebx
mov dword [0x10057fdc], eax
jne 0x10018ccb
mov edx, dword [0x10057fd8]
push edx
jmp 0x10019565
push str.ENGINE_by_id
push eax
call esi
mov dword [0x10057f78], eax
mov eax, dword [0x10057fdc]
push str.ENGINE_init
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.ENGINE_set_default
push ecx
mov dword [0x10057edc], eax
call esi
mov edx, dword [0x10057fdc]
push str.ENGINE_load_builtin_engines
push edx
mov dword [0x10057fc0], eax
call esi
mov dword [0x10057ef4], eax
mov eax, dword [0x10057fdc]
push str.ENGINE_get_id
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.ENGINE_ctrl_cmd_string
push ecx
mov dword [0x10057e60], eax
call esi
mov edx, dword [0x10057fdc]
push str.ENGINE_free
push edx
mov dword [0x10057f54], eax
call esi
mov dword [0x10057e9c], eax
mov eax, dword [0x10057fdc]
push str.ENGINE_register_all_complete
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.BIO_test_flags
push ecx
mov dword [0x10057f24], eax
call esi
mov edx, dword [0x10057fdc]
push str.BIO_ctrl_pending
push edx
mov dword [0x10057f48], eax
call esi
mov dword [0x10057ee4], eax
mov eax, dword [0x10057fdc]
push str.BIO_read
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.BIO_ctrl
push ecx
mov dword [0x10057f38], eax
call esi
mov edx, dword [0x10057fdc]
push str.BIO_write
push edx
mov dword [0x10057ec0], eax
call esi
mov dword [0x10057f7c], eax
mov eax, dword [0x10057fdc]
push str.BIO_ctrl_get_write_guarantee
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.BIO_ctrl_get_read_request
push ecx
mov dword [0x10057fbc], eax
call esi
mov edx, dword [0x10057fdc]
push str.BIO_new_bio_pair
push edx
mov dword [0x10057f04], eax
call esi
mov dword [0x10057ec8], eax
mov eax, dword [0x10057fdc]
push str.BIO_new
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.BIO_free
push ecx
mov dword [0x10057f68], eax
call esi
mov edx, dword [0x10057fdc]
push str.i2t_ASN1_OBJECT
push edx
mov dword [0x10057e64], eax
call esi
mov dword [0x10057ee0], eax
mov eax, dword [0x10057fdc]
push str.OBJ_obj2nid
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.X509_NAME_ENTRY_get_object
push ecx
mov dword [0x10057f20], eax
call esi
mov edx, dword [0x10057fdc]
push str.X509_NAME_get_entry
push edx
mov dword [0x10057ea8], eax
call esi
mov dword [0x10057e94], eax
mov eax, dword [0x10057fdc]
push str.X509_NAME_entry_count
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.X509_get_subject_name
push ecx
mov dword [0x10057ed0], eax
call esi
mov edx, dword [0x10057fdc]
push str.X509_get_issuer_name
push edx
mov dword [0x10057f8c], eax
call esi
mov dword [0x10057ecc], eax
mov eax, dword [0x10057fdc]
push str.X509_digest
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.OBJ_nid2sn
push ecx
mov dword [0x10057e90], eax
call esi
mov edx, dword [0x10057fdc]
push str.X509_NAME_ENTRY_get_data
push edx
mov dword [0x10057f5c], eax
call esi
mov dword [0x10057f2c], eax
mov eax, dword [0x10057fdc]
push str.X509_STORE_CTX_set_error
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.EVP_sha1
push ecx
mov dword [0x10057f44], eax
call esi
mov edx, dword [0x10057fdc]
push str.X509_STORE_CTX_get_current_cert
push edx
mov dword [0x10057ea4], eax
call esi
mov dword [0x10057efc], eax
mov eax, dword [0x10057fdc]
push str.X509_STORE_CTX_get_error
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.X509_free
mov dword [0x10057f84], eax
push ecx
call esi
mov edx, dword [0x10057fdc]
push str.X509_get_pubkey
push edx
mov dword [0x10057f34], eax
call esi
mov dword [0x10057f00], eax
mov eax, dword [0x10057fdc]
push str.BN_num_bits
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.EVP_PKEY_free
push ecx
mov dword [0x10057f64], eax
call esi
mov edx, dword [0x10057fdc]
push str.ERR_get_error
push edx
mov dword [0x10057ec4], eax
call esi
mov dword [0x10057e98], eax
mov eax, dword [0x10057fdc]
push str.ERR_error_string
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.ERR_load_BIO_strings
push ecx
mov dword [0x10057f30], eax
call esi
mov edx, dword [0x10057fdc]
push str.OPENSSL_add_all_algorithms_noconf
push edx
mov dword [0x10057f70], eax
call esi
mov dword [0x10057ef8], eax
mov eax, dword [0x10057fdc]
push str.OpenSSL_add_all_ciphers
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.OpenSSL_add_all_digests
push ecx
mov dword [0x10057f9c], eax
call esi
mov edx, dword [0x10057fdc]
push str.ENGINE_set_ex_data
push edx
mov dword [0x10057fb8], eax
call esi
mov dword [0x10057fb0], eax
mov eax, dword [0x10057fdc]
push str.ENGINE_set_default_SM2
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.ENGINE_set_default_digests
push ecx
mov dword [0x10057f58], eax
call esi
mov edx, dword [0x10057fdc]
push str.CRYPTO_num_locks
push edx
mov dword [0x10057e88], eax
call esi
mov dword [0x10057f6c], eax
mov eax, dword [0x10057fdc]
push str.CRYPTO_malloc
push eax
call esi
mov ecx, dword [0x10057fdc]
push str.CRYPTO_free
push ecx
mov dword [0x10057f40], eax
call esi
mov edx, dword [0x10057fdc]
push str.CRYPTO_set_id_callback
push edx
mov dword [0x10057fac], eax
call esi
mov dword [0x10057eb0], eax
mov eax, dword [0x10057fdc]
push str.CRYPTO_set_locking_callback
push eax
call esi
mov ecx, dword [0x10057f78]
mov dword [0x10057f50], eax
cmp ecx, ebx
je 0x1001950b
cmp dword [0x10057edc], ebx
je 0x1001950b
cmp dword [0x10057fc0], ebx
je 0x1001950b
cmp dword [0x10057ef4], ebx
je 0x1001950b
cmp dword [0x10057e60], ebx
je 0x1001950b
cmp dword [0x10057f54], ebx
je 0x1001950b
cmp dword [0x10057e9c], ebx
je 0x1001950b
cmp dword [0x10057f24], ebx
je 0x1001950b
cmp dword [0x10057f48], ebx
je 0x1001950b
cmp dword [0x10057ee4], ebx
je 0x1001950b
cmp dword [0x10057f38], ebx
je 0x1001950b
cmp dword [0x10057ec0], ebx
je 0x1001950b
cmp dword [0x10057f7c], ebx
je 0x1001950b
cmp dword [0x10057fbc], ebx
je 0x1001950b
cmp dword [0x10057f04], ebx
je 0x1001950b
cmp dword [0x10057ec8], ebx
je 0x1001950b
cmp dword [0x10057f68], ebx
je 0x1001950b
cmp dword [0x10057e64], ebx
je 0x1001950b
cmp dword [0x10057ee0], ebx
je 0x1001950b
cmp dword [0x10057f20], ebx
je 0x1001950b
cmp dword [0x10057ea8], ebx
je 0x1001950b
cmp dword [0x10057e94], ebx
je 0x1001950b
cmp dword [0x10057ed0], ebx
je 0x1001950b
cmp dword [0x10057f8c], ebx
je 0x1001950b
cmp dword [0x10057ecc], ebx
je 0x1001950b
cmp dword [0x10057e90], ebx
je 0x1001950b
cmp dword [0x10057f5c], ebx
je 0x1001950b
cmp dword [0x10057f2c], ebx
je 0x1001950b
cmp dword [0x10057f44], ebx
je 0x1001950b
cmp dword [0x10057ea4], ebx
je 0x1001950b
cmp dword [0x10057efc], ebx
je 0x1001950b
cmp dword [0x10057f84], ebx
je 0x1001950b
cmp dword [0x10057f34], ebx
je 0x1001950b
cmp dword [0x10057f00], ebx
je 0x1001950b
cmp dword [0x10057f64], ebx
je 0x1001950b
cmp dword [0x10057ec4], ebx
je 0x1001950b
cmp dword [0x10057e98], ebx
je 0x1001950b
cmp dword [0x10057f30], ebx
je 0x1001950b
cmp dword [0x10057f70], ebx
je 0x1001950b
cmp dword [0x10057f9c], ebx
je 0x1001950b
cmp dword [0x10057fb8], ebx
je 0x1001950b
cmp dword [0x10057fb0], ebx
je 0x1001950b
cmp dword [0x10057f58], ebx
je 0x1001950b
cmp dword [0x10057e88], ebx
je 0x1001950b
cmp dword [0x10057f6c], ebx
je 0x1001950b
cmp dword [0x10057f40], ebx
je 0x1001950b
cmp dword [0x10057fac], ebx
je 0x1001950b
cmp dword [0x10057eb0], ebx
je 0x1001950b
cmp eax, ebx
je 0x1001950b
cmp dword [0x10057ef8], ebx
je 0x1001950b
push str.smEngine.dll
call edi
cmp eax, ebx
mov dword [0x10057fe0], eax
jne 0x10019315
push 0x10024f88
push 4
call fcn.1000be40
mov ecx, dword [0x10057fd8]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 8
push ecx
call esi
mov edx, dword [0x10057fdc]
mov dword [0x10057fd8], ebx
push edx
call esi
push 0x10057e70
mov dword [0x10057fdc], 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 [0x10057f0c], eax
mov eax, dword [0x10057fe0]
push str.ENGINE_load_log
push eax
call esi
mov ecx, dword [0x10057f0c]
mov dword [0x10057fa4], eax
cmp ecx, ebx
je 0x100194b8
cmp eax, ebx
je 0x100194b8
call dword [0x10057e8c]
call dword [0x10057f70]
call fcn.10017b20
push str.SSLVPN
push str.Client
push str.111111
push ebx
push 3
call fcn.10017c70
call dword [0x10057eb4]
test eax, eax
je 0x10019395
call dword [0x10057f74]
push eax
call dword [0x10057fa0]
add esp, 4
cmp eax, ebx
mov dword [0x10057fd0], eax
jne 0x100193d9
mov ecx, dword [0x10057fd8]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push ecx
call esi
mov edx, dword [0x10057fdc]
mov dword [0x10057fd8], ebx
push edx
call esi
mov eax, dword [0x10057fe0]
mov dword [0x10057fdc], ebx
push eax
call esi
push 0x10057e70
mov dword [0x10057fe0], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
mov ecx, dword [0x10057fcc]
cmp ecx, 3
jne 0x100193eb
push str.ECC_SM1_SM3
jmp 0x100193f5
cmp ecx, 4
jne 0x100193ff
push str.ECC_SM4_SM3
push eax
call dword [0x10057ed4]
add esp, 8
mov edx, dword [0x10057fe4]
push 0x3ff
inc edx
push 0x10025004
mov dword [0x10057fe4], edx
call dword [0x10057f6c]
lea ecx, [eax + eax*2]
shl ecx, 3
push ecx
call dword [0x10057f40]
add esp, 0xc
mov dword [0x10057fc4], eax
push 0x400
push str...EventioEventSocketOpenSSL.cpp
call dword [0x10057f6c]
shl eax, 2
push eax
call dword [0x10057f40]
add esp, 0xc
mov dword [0x10057fc8], eax
xor esi, esi
call dword [0x10057f6c]
test eax, eax
jle 0x10019483
xor edi, edi
mov edx, dword [0x10057fc8]
mov dword [edx + esi*4], ebx
mov eax, dword [0x10057fc4]
lea ecx, [edi + eax]
push ecx
call ebp
inc esi
add edi, 0x18
call dword [0x10057f6c]
cmp esi, eax
jl 0x10019461
push 0x10017e90
call dword [0x10057eb0]
push 0x10017ea0
call dword [0x10057f50]
add esp, 8
mov byte [0x10057fd4], 1
push 0x10057e70
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.1000be40
mov edx, dword [0x10057fd8]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 8
push edx
call esi
mov eax, dword [0x10057fdc]
mov dword [0x10057fd8], ebx
push eax
call esi
mov ecx, dword [0x10057fe0]
mov dword [0x10057fdc], ebx
push ecx
call esi
push 0x10057e70
mov dword [0x10057fe0], 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.1000be40
mov edx, dword [0x10057fd8]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
add esp, 8
push edx
call esi
mov eax, dword [0x10057fdc]
mov dword [0x10057fd8], ebx
push eax
call esi
push 0x10057e70
mov dword [0x10057fdc], 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.1000be40
mov ecx, dword [0x10057fd8]
add esp, 8
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x10057fd8], ebx
push 0x10057e70
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret