Function at 0x140004df0
Capabilities:
Terminate process

Disassembly:
push rbx
push rsi
sub rsp, 0x48
mov rsi, rcx
mov qword [rsp + 0x60], rbp
lea rbx, [0x140000000]
nop word [rax + rax]
mov rcx, qword [rsi + 0x20a0]
call sub.libssl_1_1_x64.dll_SSL_do_handshake
mov rcx, qword [rsi + 0x20a0]
mov edx, eax
call sub.libssl_1_1_x64.dll_SSL_get_error
cmp eax, 7
ja case.0x140004e3c.4
movsxd rcx, eax
mov edx, dword [rbx + rcx*4 + 0x5308]
add rdx, rbx
jmp rdx
cmp dword [0x14001b240], 2
mov ebp, 1
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x40], r14
jl 0x140004fa1
mov rcx, qword [0x14001fc10]
lea rdx, reloc.WSOCK32.dll_inet_addr
call sub.libcrypto_1_1_x64.dll_BIO_printf
mov rcx, qword [rsi + 0x20a0]
call sub.libssl_1_1_x64.dll_SSL_get_peer_cert_chain
mov rcx, rax
mov r14, rax
call sub.libcrypto_1_1_x64.dll_OPENSSL_sk_num
mov edi, eax
test eax, eax
jle 0x140004eaf
mov ebx, ebp
cmp eax, ebx
jle 0x140004eaf
mov edx, ebx
mov rcx, r14
call sub.libcrypto_1_1_x64.dll_OPENSSL_sk_value
mov rcx, qword [0x14001fc18]
mov rdx, rax
call fcn.140004c70
inc ebx
cmp ebx, edi
jl 0x140004e90
mov rcx, qword [rsi + 0x20a0]
call sub.libssl_1_1_x64.dll_SSL_get_peer_certificate
mov rcx, qword [0x14001fc18]
mov rbx, rax
test rax, rax
jne 0x140004ed8
lea rdx, str.Anon_DH_n
call sub.libcrypto_1_1_x64.dll_BIO_printf
jmp 0x140004efb
lea rdx, str.Peer_certificate_n
call sub.libcrypto_1_1_x64.dll_BIO_printf
mov rcx, qword [0x14001fc18]
mov rdx, rbx
call fcn.140004c70
mov rcx, rbx
call sub.libcrypto_1_1_x64.dll_X509_free
mov rbx, qword [rsi + 0x20a0]
mov rdi, qword [0x14001fc10]
mov rcx, rbx
call sub.libssl_1_1_x64.dll_SSL_get_version
mov r8, rax
lea rdx, str.Transport_Protocol______:_s_n
mov rcx, rdi
call sub.libcrypto_1_1_x64.dll_BIO_printf
mov rcx, rbx
call sub.libssl_1_1_x64.dll_SSL_get_current_cipher
mov rcx, rax
mov rbx, rax
call sub.libssl_1_1_x64.dll_SSL_CIPHER_get_version
mov r8, rax
lea rdx, str.Cipher_Suite_Protocol___:_s_n
mov rcx, rdi
call sub.libcrypto_1_1_x64.dll_BIO_printf
mov rcx, rbx
call sub.libssl_1_1_x64.dll_SSL_CIPHER_get_name
mov r8, rax
lea rdx, str.Cipher_Suite_Name_______:_s_n
mov rcx, rdi
call sub.libcrypto_1_1_x64.dll_BIO_printf
lea rdx, [rsp + 0x68]
mov rcx, rbx
call sub.libssl_1_1_x64.dll_SSL_CIPHER_get_bits
mov r9d, dword [rsp + 0x68]
lea rdx, str.Cipher_Suite_Cipher_Bits:_d___d__n
mov r8d, eax
mov rcx, rdi
call sub.libcrypto_1_1_x64.dll_BIO_printf
mov rcx, qword [rsi + 0x20a0]
call sub.libssl_1_1_x64.dll_SSL_get_session
mov rcx, qword [0x14001fc10]
mov rdx, rax
call sub.libssl_1_1_x64.dll_SSL_SESSION_print
cmp qword [0x14001b2e0], 0
jne 0x140005050
mov rcx, qword [rsi + 0x20a0]
call sub.libssl_1_1_x64.dll_SSL_get_current_cipher
lea rdx, [rsp + 0x68]
mov rcx, rax
mov rbx, rax
call sub.libssl_1_1_x64.dll_SSL_CIPHER_get_bits
mov rcx, qword [rsi + 0x20a0]
mov r14d, eax
call sub.libssl_1_1_x64.dll_SSL_get_peer_certificate
test rax, rax
je 0x140004ff3
mov rcx, rax
call sub.libcrypto_1_1_x64.dll_X509_get_pubkey
mov rcx, rax
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_bits
mov edi, eax
jmp 0x140004ff5
xor edi, edi
mov ecx, 0x80
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400050ec
mov rcx, rbx
mov qword [0x14001b2e0], rax
call sub.libssl_1_1_x64.dll_SSL_CIPHER_get_name
mov rcx, qword [rsi + 0x20a0]
mov rbx, rax
call sub.libssl_1_1_x64.dll_SSL_get_version
mov rcx, qword [0x14001b2e0]
lea r8, str._s__s__d__d
mov dword [rsp + 0x30], r14d
mov r9, rax
mov dword [rsp + 0x28], edi
mov edx, 0x80
mov qword [rsp + 0x20], rbx
call fcn.1400090e0
cmp qword [0x14001b2f0], 0
jne 0x1400051b3
mov rcx, qword [rsi + 0x20a0]
lea r9, [rsp + 0x68]
xor r8d, r8d
lea edx, [r8 + 0x6d]
call sub.libssl_1_1_x64.dll_SSL_ctrl
test eax, eax
je 0x1400051b3
mov ecx, 0x80
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x1400051d1
mov rcx, qword [rsp + 0x68]
mov qword [0x14001b2f0], rax
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_id
mov rcx, qword [rsp + 0x68]
cmp eax, 6
je 0x140005189
cmp eax, 0x1c
je 0x14000517b
cmp eax, 0x198
je 0x140005115
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_bits
mov rcx, qword [rsp + 0x68]
mov ebx, eax
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_id
mov ecx, eax
call sub.libcrypto_1_1_x64.dll_OBJ_nid2sn
mov r9, rax
mov dword [rsp + 0x20], ebx
lea r8, str._s__d_bits
jmp 0x140005168
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 0x80
lea rdx, str.Could_not_allocate_memory___I64u_bytes__n
mov rcx, rax
call fcn.140001620
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_get1_EC_KEY
mov rcx, rax
mov rbx, rax
call sub.libcrypto_1_1_x64.dll_EC_KEY_get0_group
mov rcx, rax
call sub.libcrypto_1_1_x64.dll_EC_GROUP_get_curve_name
mov rcx, rbx
mov edi, eax
call sub.libcrypto_1_1_x64.dll_EC_KEY_free
mov ecx, edi
call sub.libcrypto_1_1_x64.dll_EC_curve_nid2nist
mov rbx, rax
test rax, rax
jne 0x140005150
mov ecx, edi
call sub.libcrypto_1_1_x64.dll_OBJ_nid2sn
mov rbx, rax
mov rcx, qword [rsp + 0x68]
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_bits
mov dword [rsp + 0x20], eax
lea r8, str.ECDH__s__d_bits
mov r9, rbx
mov rcx, qword [0x14001b2f0]
mov edx, 0x80
call fcn.1400090e0
jmp 0x1400051a9
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_bits
lea r8, str.DH__d_bits
jmp 0x140005195
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_bits
lea r8, str.RSA__d_bits
mov rcx, qword [0x14001b2f0]
mov r9d, eax
mov edx, 0x80
call fcn.1400090e0
mov rcx, qword [rsp + 0x68]
call sub.libcrypto_1_1_x64.dll_EVP_PKEY_free
mov rcx, rsi
call fcn.140006760
mov rdi, qword [rsp + 0x70]
mov r14, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x60]
add rsp, 0x48
pop rsi
pop rbx
ret
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8d, 0x80
lea rdx, str.Could_not_allocate_memory___I64u_bytes__n
mov rcx, rax
call fcn.140001620
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
movzx eax, word [rsi + 0x1c]
cmp ax, 1
je 0x1400051c5
lea rbx, [rsi + 0x10]
test ax, ax
je 0x140005224
mov rcx, qword [0x14001bbb0]
mov rdx, rbx
call fcn.14000d870
test eax, eax
jne 0x1400052c9
mov ebp, 1
mov rdx, rbx
mov word [rsi + 0x1c], bp
mov rcx, qword [0x14001bbb0]
call fcn.14000d6a0
test eax, eax
jne 0x1400052d8
jmp 0x1400051c5
movzx eax, word [rsi + 0x1c]
cmp ax, 4
je 0x1400051c5
lea rbx, [rsi + 0x10]
test ax, ax
je 0x140005273
mov rcx, qword [0x14001bbb0]
mov rdx, rbx
call fcn.14000d870
test eax, eax
jne 0x1400052e7
mov eax, 4
mov rdx, rbx
mov word [rsi + 0x1c], ax
mov rcx, qword [0x14001bbb0]
call fcn.14000d6a0
test eax, eax
jne 0x1400052f6
jmp 0x1400051c5
mov rcx, qword [0x14001fc10]
lea rdx, str.SSL_handshake_failed___d_._n
mov r8d, eax
call sub.libcrypto_1_1_x64.dll_BIO_printf
mov rcx, qword [0x14001fc10]
call sub.libcrypto_1_1_x64.dll_ERR_print_errors
mov rcx, rsi
mov rbp, qword [rsp + 0x60]
add rsp, 0x48
pop rsi
pop rbx
jmp fcn.1400012d0
mov edx, eax
lea rcx, str.apr_pollset_remove__
call fcn.140001240
int3
mov edx, eax
lea rcx, str.apr_pollset_add__
call fcn.140001240
int3
mov edx, eax
lea rcx, str.apr_pollset_remove__
call fcn.140001240
int3
mov edx, eax
lea rcx, str.apr_pollset_add__
call fcn.140001240
int3