Function at 0x451030
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push edi
xor edi, edi
mov dword [ebp - 4], ecx
cmp dword [ecx + 0x3c], edi
je 0x451046
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret
cmp dword [0x4ade20], edi
je 0x451059
push 0x4ade08
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
push esi
cmp dword [0x4b0300], edi
jne 0x451a0f
push str.libeay32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x4b0308], eax
cmp eax, edi
jne 0x451096
mov eax, dword [0x4b0304]
cmp eax, edi
je 0x45108b
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x4b0304], edi
jmp 0x45199e
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.BIO_ctrl_pending
push eax
xor bl, bl
call esi
mov dword [0x4b0264], eax
cmp eax, edi
jne 0x4510b1
mov bl, 1
mov eax, dword [0x4b0308]
push str.BIO_ctrl_pending
push eax
call esi
mov dword [0x4b0264], eax
cmp eax, edi
jne 0x4510c9
mov bl, 1
mov ecx, dword [0x4b0308]
push str.BIO_read
push ecx
call esi
mov dword [0x4b0260], eax
cmp eax, edi
jne 0x4510e2
mov bl, 1
mov edx, dword [0x4b0308]
push str.BIO_ctrl
push edx
call esi
mov dword [0x4b025c], eax
cmp eax, edi
jne 0x4510fb
mov bl, 1
mov eax, dword [0x4b0308]
push str.BIO_write
push eax
call esi
mov dword [0x4b0258], eax
cmp eax, edi
jne 0x451113
mov bl, 1
mov ecx, dword [0x4b0308]
push str.BIO_ctrl_get_write_guarantee
push ecx
call esi
mov dword [0x4b0254], eax
cmp eax, edi
jne 0x45112c
mov bl, 1
mov edx, dword [0x4b0308]
push str.BIO_new_bio_pair
push edx
call esi
mov dword [0x4b0250], eax
cmp eax, edi
jne 0x451145
mov bl, 1
mov eax, dword [0x4b0308]
push str.BIO_new
push eax
call esi
mov dword [0x4b024c], eax
cmp eax, edi
jne 0x45115d
mov bl, 1
mov ecx, dword [0x4b0308]
push str.BIO_free
push ecx
call esi
mov dword [0x4b0248], eax
cmp eax, edi
jne 0x451176
mov bl, 1
mov edx, dword [0x4b0308]
push str.i2t_ASN1_OBJECT
push edx
call esi
mov dword [0x4b0244], eax
cmp eax, edi
jne 0x45118f
mov bl, 1
mov eax, dword [0x4b0308]
push str.OBJ_obj2nid
push eax
call esi
mov dword [0x4b0240], eax
cmp eax, edi
jne 0x4511a7
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_NAME_ENTRY_get_object
push ecx
call esi
mov dword [0x4b023c], eax
cmp eax, edi
jne 0x4511c0
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_NAME_get_entry
push edx
call esi
mov dword [0x4b0238], eax
cmp eax, edi
jne 0x4511d9
mov bl, 1
mov eax, dword [0x4b0308]
push str.X509_NAME_entry_count
push eax
call esi
mov dword [0x4b0234], eax
cmp eax, edi
jne 0x4511f1
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_get_subject_name
push ecx
call esi
mov dword [0x4b0230], eax
cmp eax, edi
jne 0x45120a
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_get_issuer_name
push edx
call esi
mov dword [0x4b022c], eax
cmp eax, edi
jne 0x451223
mov bl, 1
mov eax, dword [0x4b0308]
push str.OBJ_nid2sn
push eax
call esi
mov dword [0x4b0228], eax
cmp eax, edi
jne 0x45123b
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_NAME_ENTRY_get_data
push ecx
call esi
mov dword [0x4b0224], eax
cmp eax, edi
jne 0x451254
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_STORE_CTX_set_error
push edx
call esi
mov dword [0x4b0220], eax
cmp eax, edi
jne 0x45126d
mov bl, 1
mov eax, dword [0x4b0308]
push str.X509_digest
push eax
call esi
mov dword [0x4b021c], eax
cmp eax, edi
jne 0x451285
mov bl, 1
mov ecx, dword [0x4b0308]
push str.EVP_sha1
push ecx
call esi
mov dword [0x4b0218], eax
cmp eax, edi
jne 0x45129e
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_STORE_CTX_get_current_cert
push edx
call esi
mov dword [0x4b0214], eax
cmp eax, edi
jne 0x4512b7
mov bl, 1
mov eax, dword [0x4b0308]
push str.X509_STORE_CTX_get_error
push eax
call esi
mov dword [0x4b0210], eax
cmp eax, edi
jne 0x4512cf
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_free
push ecx
call esi
mov dword [0x4b020c], eax
cmp eax, edi
jne 0x4512e8
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_get_pubkey
push edx
call esi
mov dword [0x4b0208], eax
cmp eax, edi
jne 0x451301
mov bl, 1
mov eax, dword [0x4b0308]
push str.BN_num_bits
push eax
call esi
mov dword [0x4b0204], eax
cmp eax, edi
jne 0x451319
mov bl, 1
mov ecx, dword [0x4b0308]
push str.EVP_PKEY_free
push ecx
call esi
mov dword [0x4b0200], eax
cmp eax, edi
jne 0x451332
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_STORE_CTX_get_ex_data
push edx
call esi
mov dword [0x4b01fc], eax
cmp eax, edi
jne 0x45134b
mov bl, 1
mov eax, dword [0x4b0308]
push str.X509_NAME_oneline
push eax
call esi
mov dword [0x4b01f8], eax
cmp eax, edi
jne 0x451363
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_verify_cert_error_string
push ecx
call esi
mov dword [0x4b01f4], eax
cmp eax, edi
jne 0x45137c
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_STORE_CTX_get_error_depth
push edx
call esi
mov dword [0x4b01f0], eax
cmp eax, edi
jne 0x451395
mov bl, 1
mov eax, dword [0x4b0308]
push str.ERR_get_error
push eax
call esi
mov dword [0x4b01ec], eax
cmp eax, edi
jne 0x4513ad
mov bl, 1
mov ecx, dword [0x4b0308]
push str.ERR_error_string
push ecx
call esi
mov dword [0x4b01e8], eax
cmp eax, edi
jne 0x4513c6
mov bl, 1
mov edx, dword [0x4b0308]
push str.ASN1_STRING_to_UTF8
push edx
call esi
mov dword [0x4b01e4], eax
cmp eax, edi
jne 0x4513df
mov bl, 1
mov eax, dword [0x4b0308]
push str.CRYPTO_free
push eax
call esi
mov dword [0x4b01e0], eax
cmp eax, edi
jne 0x4513f7
mov bl, 1
mov ecx, dword [0x4b0308]
push str.RSA_generate_key
push ecx
call esi
mov dword [0x4b01dc], eax
cmp eax, edi
jne 0x451410
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_set_version
push edx
call esi
mov dword [0x4b01d8], eax
cmp eax, edi
jne 0x451429
mov bl, 1
mov eax, dword [0x4b0308]
push str.X509_gmtime_adj
push eax
call esi
mov dword [0x4b01d4], eax
cmp eax, edi
jne 0x451441
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_set_pubkey
push ecx
call esi
mov dword [0x4b01d0], eax
cmp eax, edi
jne 0x45145a
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_NAME_add_entry_by_txt
push edx
call esi
mov dword [0x4b01cc], eax
cmp eax, edi
jne 0x451473
mov bl, 1
mov eax, dword [0x4b0308]
push str.X509_NAME_add_entry_by_NID
push eax
call esi
mov dword [0x4b01c8], eax
cmp eax, edi
jne 0x45148b
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_set_issuer_name
push ecx
call esi
mov dword [0x4b01c4], eax
cmp eax, edi
jne 0x4514a4
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_sign
push edx
call esi
mov dword [0x4b01c0], eax
cmp eax, edi
jne 0x4514bd
mov bl, 1
mov eax, dword [0x4b0308]
push str.EVP_PKEY_new
push eax
call esi
mov dword [0x4b01bc], eax
cmp eax, edi
jne 0x4514d5
mov bl, 1
mov ecx, dword [0x4b0308]
push str.EVP_PKEY_assign
push ecx
call esi
mov dword [0x4b01b8], eax
cmp eax, edi
jne 0x4514ee
mov bl, 1
mov edx, dword [0x4b0308]
push str.X509_new
push edx
call esi
mov dword [0x4b01b4], eax
cmp eax, edi
jne 0x451507
mov bl, 1
mov eax, dword [0x4b0308]
push str.ASN1_INTEGER_set
push eax
call esi
mov dword [0x4b01b0], eax
cmp eax, edi
jne 0x45151f
mov bl, 1
mov ecx, dword [0x4b0308]
push str.X509_get_serialNumber
push ecx
call esi
mov dword [0x4b01ac], eax
cmp eax, edi
jne 0x451538
mov bl, 1
mov edx, dword [0x4b0308]
push str.PEM_ASN1_write_bio
push edx
call esi
mov dword [0x4b01a8], eax
cmp eax, edi
jne 0x451551
mov bl, 1
mov eax, dword [0x4b0308]
push str.i2d_X509
push eax
call esi
mov dword [0x4b01a4], eax
cmp eax, edi
jne 0x451569
mov bl, 1
mov ecx, dword [0x4b0308]
push str.BIO_s_mem
push ecx
call esi
mov dword [0x4b01a0], eax
cmp eax, edi
jne 0x451582
mov bl, 1
mov edx, dword [0x4b0308]
push str.i2d_PrivateKey
push edx
call esi
mov dword [0x4b019c], eax
cmp eax, edi
je 0x45159d
test bl, bl
je 0x4515bd
mov eax, dword [0x4b0304]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x4b0308]
mov dword [0x4b0304], edi
push ecx
jmp 0x451996
push str.ssleay32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x4b0304], eax
cmp eax, edi
jne 0x4515ea
mov eax, dword [0x4b0308]
cmp eax, edi
je 0x451998
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x451998
push str.SSL_state_string_long
push eax
call esi
mov dword [0x4b02f4], eax
cmp eax, edi
jne 0x4515fd
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_state
push edx
call esi
mov dword [0x4b02f8], eax
cmp eax, edi
jne 0x451616
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_set_info_callback
push eax
call esi
mov dword [0x4b02f0], eax
cmp eax, edi
jne 0x45162e
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_set_bio
push ecx
call esi
mov dword [0x4b02ec], eax
cmp eax, edi
jne 0x451647
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_set_connect_state
push edx
call esi
mov dword [0x4b02e8], eax
cmp eax, edi
jne 0x451660
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_set_session
push eax
call esi
mov dword [0x4b02e4], eax
cmp eax, edi
jne 0x451678
mov bl, 1
mov ecx, dword [0x4b0304]
push str.BIO_f_ssl
push ecx
call esi
mov dword [0x4b02e0], eax
cmp eax, edi
jne 0x451691
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_new
push edx
call esi
mov dword [0x4b02dc], eax
cmp eax, edi
jne 0x4516aa
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_CTX_new
push eax
call esi
mov dword [0x4b02d8], eax
cmp eax, edi
jne 0x4516c2
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSLv23_method
push ecx
call esi
mov dword [0x4b02d4], eax
cmp eax, edi
jne 0x4516db
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_load_error_strings
push edx
call esi
mov dword [0x4b02d0], eax
cmp eax, edi
jne 0x4516f4
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_library_init
push eax
call esi
mov dword [0x4b02cc], eax
cmp eax, edi
jne 0x45170c
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_CTX_free
push ecx
call esi
mov dword [0x4b02c8], eax
cmp eax, edi
jne 0x451725
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_free
push edx
call esi
mov dword [0x4b02c4], eax
cmp eax, edi
jne 0x45173e
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_get_error
push eax
call esi
mov dword [0x4b02c0], eax
cmp eax, edi
jne 0x451756
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_shutdown
push ecx
call esi
mov dword [0x4b02bc], eax
cmp eax, edi
jne 0x45176f
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_get_shutdown
push edx
call esi
mov dword [0x4b02b8], eax
cmp eax, edi
jne 0x451788
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_alert_type_string_long
push eax
call esi
mov dword [0x4b02b4], eax
cmp eax, edi
jne 0x4517a0
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_alert_desc_string_long
push ecx
call esi
mov dword [0x4b02b0], eax
cmp eax, edi
jne 0x4517b9
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_CTX_set_verify
push edx
call esi
mov dword [0x4b02ac], eax
cmp eax, edi
jne 0x4517d2
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_CTX_get_cert_store
push eax
call esi
mov dword [0x4b02a8], eax
cmp eax, edi
jne 0x4517ea
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_get_verify_result
push ecx
call esi
mov dword [0x4b02a4], eax
cmp eax, edi
jne 0x451803
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_get_peer_certificate
push edx
call esi
mov dword [0x4b02a0], eax
cmp eax, edi
jne 0x45181c
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_get_version
push eax
call esi
mov dword [0x4b029c], eax
cmp eax, edi
jne 0x451834
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_get_current_cipher
push ecx
call esi
mov dword [0x4b0298], eax
cmp eax, edi
jne 0x45184d
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_CIPHER_get_name
push edx
call esi
mov dword [0x4b0294], eax
cmp eax, edi
jne 0x451866
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_CIPHER_get_version
push eax
call esi
mov dword [0x4b0290], eax
cmp eax, edi
jne 0x45187e
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_get_ex_data_X509_STORE_CTX_idx
push ecx
call esi
mov dword [0x4b028c], eax
cmp eax, edi
jne 0x451897
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_CTX_load_verify_locations
push edx
call esi
mov dword [0x4b0288], eax
cmp eax, edi
jne 0x4518b0
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_ctrl
push eax
call esi
mov dword [0x4b0284], eax
cmp eax, edi
jne 0x4518c8
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_set_accept_state
push ecx
call esi
mov dword [0x4b0280], eax
cmp eax, edi
jne 0x4518e1
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_CTX_use_PrivateKey_file
push edx
call esi
mov dword [0x4b027c], eax
cmp eax, edi
jne 0x4518fa
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_CTX_use_certificate_file
push eax
call esi
mov dword [0x4b0278], eax
cmp eax, edi
jne 0x451912
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_CTX_check_private_key
push ecx
call esi
mov dword [0x4b0274], eax
cmp eax, edi
jne 0x45192b
mov bl, 1
mov edx, dword [0x4b0304]
push str.SSL_CTX_set_default_passwd_cb_userdata
push edx
call esi
mov dword [0x4b026c], eax
cmp eax, edi
jne 0x451944
mov bl, 1
mov eax, dword [0x4b0304]
push str.SSL_CTX_set_default_passwd_cb
push eax
call esi
mov dword [0x4b0270], eax
cmp eax, edi
jne 0x45195c
mov bl, 1
mov ecx, dword [0x4b0304]
push str.SSL_CTX_use_certificate_chain_file
push ecx
call esi
mov dword [0x4b0268], eax
cmp eax, edi
je 0x451977
test bl, bl
je 0x4519bd
mov edx, dword [0x4b0304]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push edx
call esi
mov eax, dword [0x4b0308]
mov dword [0x4b0304], edi
cmp eax, edi
je 0x451998
push eax
call esi
mov dword [0x4b0308], edi
cmp dword [0x4ade20], edi
je 0x4519b1
push 0x4ade08
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebx
mov eax, 2
pop edi
mov esp, ebp
pop ebp
ret
call dword [0x4b02d0]
call dword [0x4b02cc]
test eax, eax
jne 0x451a0f
mov eax, dword [0x4b0304]
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
push eax
call esi
mov ecx, dword [0x4b0308]
push ecx
mov dword [0x4b0304], edi
call esi
mov dword [0x4b0308], edi
cmp dword [0x4ade20], edi
je 0x451a03
push 0x4ade08
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebx
mov eax, 4
pop edi
mov esp, ebp
pop ebp
ret
mov esi, 1
add dword [0x4b0300], esi
cmp dword [0x4ade20], edi
je 0x451a2d
push 0x4ade08
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [ebp - 4]
mov dword [edx + 0x3c], esi
pop esi
pop ebx
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret