Function at 0x14005c6a0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x30
mov rax, qword [rcx + 0x70]
mov rbx, rcx
xor edi, edi
movzx ecx, byte [rax + 4]
cmp cl, 3
jne 0x140050568
mov rax, qword [rbx]
movzx ecx, byte [rax + 6]
movzx ebp, cl
lea rax, [0x14007df00]
mov rcx, rbx
mov qword [rsp + 0x40], rsi
mov r9d, 0xb3e
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x48], r14
mov edx, 2
call fcn.140065ef0
mov rax, qword [rbx + 0x70]
mov rcx, qword [rax + 0x18]
mov edx, dword [rcx + 0x18]
lea eax, [rdx - 1]
cmp eax, 9
ja case.0x1400505c2.5
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x507f4]
add rcx, r8
jmp rcx
mov rax, qword [rbx]
cmp byte [rax + 4], 1
jne 0x140050626
cmp edx, 7
je case.0x1400505c2.5
test ebp, ebp
jne 0x140050626
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x78], 0x80
lea rax, str.__skip_parse_certificate
mov r9d, 0xb43
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
inc dword [rbx + 8]
mov eax, edi
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov edx, 1
mov rcx, rbx
call fcn.140057cb0
mov edi, eax
test eax, eax
je 0x140050665
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0xb55
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
jmp 0x14005060a
mov rax, qword [rbx]
cmp byte [rax + 4], 0
je 0x140050708
movzx edx, byte [rax + 5]
mov ecx, 7
cmp dl, 1
mov eax, select
cmovne eax, ecx
cmp qword [rbx + 0x120], rax
jne 0x140050708
cmp dword [rbx + 0xe8], 0x16
jne 0x140050708
mov rcx, qword [rbx + 0xd8]
cmp byte [rcx], 0xb
jne 0x140050708
cmp dl, 1
mov eax, recv
mov r8d, 4
cmovne eax, r8d
cmp word [rax + rcx], 0
jne 0x140050708
cmp byte [rax + rcx + 2], 0
jne 0x140050708
lea rax, str.TLSv1_client_has_no_certificate
mov r9d, 0xa0c
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x78], 0x40
cmp ebp, 1
je 0x140050607
mov eax, 0xffff8b80
jmp 0x14005060c
mov eax, 0x68
mov rcx, rbx
mov rdi, qword [rbx + rax]
lea r14, [rbx + rax]
mov rcx, qword [rdi + 0x70]
test rcx, rcx
je 0x140050738
call fcn.1400661e0
mov rcx, qword [rdi + 0x70]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x70], 0
mov edx, 0x268
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rsi, rax
test rax, rax
jne 0x140050794
lea rax, str.alloc__zu_bytes__failed
mov qword [rsp + 0x28], 0x268
mov r9d, 0xb6d
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov rcx, rbx
lea edx, [rsi + 1]
call fcn.140065ef0
mov r8b, 0x50
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8100
jmp 0x14005060c
mov rcx, rsi
call fcn.140066a70
mov rdx, rsi
mov rcx, rbx
call fcn.140052940
mov edi, eax
test eax, eax
jne 0x1400507dc
xor r9d, r9d
mov r8, rsi
mov edx, ebp
mov rcx, rbx
call fcn.140052d00
mov edi, eax
test eax, eax
jne 0x1400507dc
mov rax, qword [r14]
mov r9d, 0xbad
mov qword [rax + 0x70], rsi
lea rax, str.__parse_certificate
jmp 0x1400505ee
mov rcx, rsi
call fcn.1400661e0
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14005060a
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x14009f320]
xor rax, rsp
mov qword [rsp + 0x40], rax
lea rax, [0x14007e1e0]
mov r9d, 0xe4b
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rbx, rcx
call fcn.140065ef0
mov rax, qword [rbx]
lea rdx, [rsp + 0x30]
mov r9, qword [rbx + 0x70]
mov rcx, rbx
movzx r8d, byte [rax + 4]
xor r8d, 1
call qword [r9 + 0x30]
mov edx, 1
mov rcx, rbx
call fcn.140057cb0
mov edi, eax
test eax, eax
je 0x1400508bd
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0xe59
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
jmp 0x140050a4d
cmp dword [rbx + 0xe8], 0x16
je 0x140050903
lea rax, str.bad_finished_message
mov r9d, 0xe5f
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0xa
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov edi, 0xffff8900
jmp 0x140050a4d
mov rdx, qword [rbx + 0xd8]
cmp byte [rdx], 0x14
jne 0x140050a15
mov rax, qword [rbx]
mov ecx, reloc.WS2_32.dll_recv
movzx r8d, byte [rax + 5]
mov eax, 0x18
cmp r8b, 1
cmovne eax, ecx
cmp qword [rbx + 0x120], rax
jne 0x140050a15
cmp r8b, 1
mov eax, 4
mov ecx, recv
cmovne ecx, eax
add rcx, rdx
lea rdx, [rsp + 0x30]
lea r8d, [rax + 8]
call fcn.140042890
test eax, eax
je 0x14005098d
lea rax, str.bad_finished_message
mov r9d, 0xe73
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x33
jmp 0x140050a3e
mov eax, dword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
mov qword [rbx + 0x1b8], select
movsd qword [rbx + 0x1cc], xmm0
mov dword [rbx + 0x1d4], eax
mov rax, qword [rbx + 0x70]
cmp byte [rax + 2], 0
je 0x1400509d9
mov rax, qword [rbx]
cmp byte [rax + 4], 0
jne 0x1400509ca
mov dword [rbx + 8], 0xa
cmp byte [rax + 4], 1
jne 0x1400509dc
mov dword [rbx + 8], select
jmp 0x1400509dc
inc dword [rbx + 8]
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x1400509ed
mov rcx, rbx
call fcn.140058050
lea rax, str.__parse_finished
mov r9d, 0xe92
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
jmp 0x140050a4d
lea rax, str.bad_finished_message
mov r9d, 0xe69
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x32
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov edi, 0xffff8180
mov edx, recv
lea rcx, [rsp + 0x30]
call fcn.140020050
mov eax, edi
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14006ab10
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x40
mov rax, qword [rcx + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov r9d, 0x8b5
mov edx, 2
mov rdi, rcx
mov rbx, qword [rax + 0x18]
lea rax, [0x14007dc40]
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov eax, dword [rbx + 0x18]
dec eax
cmp eax, 9
ja case.0x140051759.5
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x51a44]
add rcx, rdx
jmp rcx
mov rcx, qword [rdi]
movzx eax, byte [rcx + 4]
test al, al
jne 0x1400517a9
cmp dword [rdi + 0x18c], 0
jne 0x14005180a
lea rax, str.__skip_write_certificate
mov r9d, 0x8c3
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.140065ef0
inc dword [rdi + 8]
xor eax, eax
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
cmp al, 1
jne 0x14005180a
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1400517c2
mov rax, qword [rax + 0x3b8]
test rax, rax
jne 0x1400517ce
mov rax, qword [rcx + 0x110]
test rax, rax
je 0x1400517d4
cmp qword [rax], 0
jne 0x14005180a
lea rax, str.got_no_certificate_to_send
mov r9d, 0x8e0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065ef0
mov eax, 0xffff8a80
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov rax, qword [rdi + 0x70]
mov qword [rsp + 0x50], rbp
test rax, rax
je 0x140051824
mov rax, qword [rax + 0x3b8]
test rax, rax
jne 0x140051830
mov rax, qword [rcx + 0x110]
test rax, rax
je 0x140051833
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
lea rax, str.own_certificate
mov qword [rsp + 0x58], rsi
mov r9d, 0x8e6
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065900
mov rbp, qword [rdi + 0x70]
mov ebx, 7
test rbp, rbp
je 0x14005187d
mov rbp, qword [rbp + 0x3b8]
test rbp, rbp
jne 0x140051890
mov rax, qword [rdi]
mov rbp, qword [rax + 0x110]
test rbp, rbp
je 0x14005190d
mov rbp, qword [rbp]
test rbp, rbp
je 0x14005190d
nop dword [rax]
mov rsi, qword [rbp + 0x10]
mov eax, 0x3ffd
sub rax, rbx
cmp rsi, rax
ja 0x1400519aa
mov rax, qword [rdi + 0x160]
mov rcx, rsi
shr rcx, 0x10
mov r8, rsi
mov byte [rbx + rax], cl
mov rcx, rsi
mov rax, qword [rdi + 0x160]
shr rcx, 8
mov byte [rax + rbx + 1], cl
mov rax, qword [rdi + 0x160]
mov byte [rax + rbx + 2], sil
add rbx, 3
mov rcx, qword [rdi + 0x160]
mov rdx, qword [rbp + 0x18]
add rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rbp, qword [rbp + 0x260]
add rbx, rsi
test rbp, rbp
jne 0x1400518a0
mov rax, qword [rdi + 0x160]
lea rdx, [rbx - 7]
mov rcx, rdx
shr rdx, 8
shr rcx, 0x10
mov byte [rax + 4], cl
lea ecx, [rbx - 7]
mov rax, qword [rdi + 0x160]
mov byte [rax + 5], dl
mov rax, qword [rdi + 0x160]
mov byte [rax + 6], cl
mov rcx, rdi
mov rax, qword [rdi + 0x160]
mov qword [rdi + 0x170], rbx
mov dword [rdi + socket8], 0x16
mov byte [rax], 0xb
inc dword [rdi + 8]
call fcn.140058a20
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov ebx, eax
mov rcx, rdi
test eax, eax
je 0x1400519ec
mov dword [rsp + 0x28], eax
mov r9d, 0x917
lea rax, str.mbedtls_ssl_write_handshake_msg
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, ebx
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 0x30], 0x4000
lea rax, [rbx + 3]
add rax, rsi
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x28], rax
mov r9d, 0x8fb
lea rax, str.certificate_too_large___zu____zu
mov edx, 1
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov eax, 0xffff8b00
jmp 0x140051995
lea rax, str.__write_certificate
mov r9d, 0x91b
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.140065ef0
xor eax, eax
jmp 0x140051995
lea rax, str.__skip_write_certificate
mov r9d, 0x8b9
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.140065ef0
inc dword [rdi + 8]
mov rbx, qword [rsp + 0x60]
xor eax, eax
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
lea rax, [0x14007e140]
mov r9d, 0xdcd
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rbx, rcx
call fcn.140065ef0
mov rdx, qword [rbx + 0x90]
mov rcx, rbx
call fcn.140058740
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rbx + 0x160]
mov r9, qword [rbx + 0x70]
add rdx, 4
movzx r8d, byte [rax + 4]
call qword [r9 + 0x30]
mov edi, dword [rbx + 0x18]
lea rcx, [rbx + 0x1c0]
mov rdx, qword [rbx + 0x160]
mov eax, 0x24
test edi, edi
mov r8d, recv
cmove r8d, eax
add rdx, 4
mov qword [rbx + 0x1b8], r8
call sub.VCRUNTIME140.dll_memcpy
test edi, edi
mov dword [rbx + socket8], 0x16
mov eax, reloc.WS2_32.dll_recv
mov ecx, 0x28
cmove eax, ecx
mov qword [rbx + 0x170], rax
mov rax, qword [rbx + 0x160]
mov byte [rax], setsockopt
mov rax, qword [rbx + 0x70]
cmp byte [rax + 2], 0
je 0x140051b52
mov rax, qword [rbx]
cmp byte [rax + 4], 0
jne 0x140051b43
mov dword [rbx + 8], select
cmp byte [rax + 4], 1
jne 0x140051b55
mov dword [rbx + 8], 0xa
jmp 0x140051b55
inc dword [rbx + 8]
lea rax, str.switching_to_new_transform_spec_for_outbound_data
mov r9d, 0xdfa
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x140051c08
mov rcx, qword [rbx + 0x70]
mov rax, qword [rbx + 0x80]
mov qword [rcx + 0x498], rax
mov rcx, qword [rbx + 0x70]
mov rax, qword [rbx + 0x180]
mov qword [rcx + 0x4a0], rax
xor eax, eax
mov dword [rbx + 0x182], eax
mov cl, 2
mov word [rbx + 0x186], ax
nop dword [rax]
movzx eax, cl
add byte [rax + rbx + 0x17f], 1
jne 0x140051c11
add cl, 0xff
jne 0x140051bc0
lea rax, str.DTLS_epoch_would_wrap
mov r9d, 0xe10
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov eax, 0xffff9480
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
xor eax, eax
mov qword [rbx + 0x180], rax
mov rax, qword [rbx + 0x90]
mov qword [rbx + 0x80], rax
mov rax, qword [rbx + 0x68]
mov qword [rbx + 0x58], rax
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x140051c38
mov rcx, rbx
call fcn.140058470
mov rcx, rbx
call fcn.140058a20
mov edi, eax
test eax, eax
je 0x140051c7d
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
lea rax, str.mbedtls_ssl_write_handshake_msg
mov r9d, 0xe2d
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x140051ccb
mov rcx, rbx
call fcn.1400567f0
mov edi, eax
test eax, eax
je 0x140051ccb
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
lea rax, str.mbedtls_ssl_flight_transmit
mov r9d, 0xe35
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea rax, str.__write_finished
mov r9d, 0xe3a
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_tls.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
lea rax, [0x1400801a0]
mov r9d, 0x13ab
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_msg.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rbx, rcx
call fcn.140065ef0
mov edx, 1
mov rcx, rbx
call fcn.140057cb0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_msg.c
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x14005721a
mov dword [rsp + 0x28], eax
mov r9d, 0x13af
lea rax, str.mbedtls_ssl_read_record
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, edi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
cmp dword [rbx + 0xe8], 0x14
je 0x14005725c
lea rax, str.bad_change_cipher_spec_message
mov r9d, 0x13b5
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov r8b, 0xa
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8900
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea rax, str.switching_to_new_transform_spec_for_inbound_data
mov r9d, 0x13c2
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rax, qword [rbx + 0x90]
mov qword [rbx + 0x78], rax
mov rax, qword [rbx + 0x68]
mov qword [rbx + 0x50], rax
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x1400572e4
xor eax, eax
add word [rbx + 0x100], 1
mov qword [rbx + 0x110], rax
mov qword [rbx + 0x118], rax
jne 0x1400572f0
lea rax, str.DTLS_epoch_would_wrap
mov r9d, 0x13d0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_msg.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov eax, 0xffff9480
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx + 0xb8]
xor ecx, ecx
mov qword [rax], rcx
mov rcx, rbx
call fcn.1400586f0
inc dword [rbx + 8]
lea rax, str.__parse_change_cipher_spec
mov r9d, 0x13eb
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_msg.c
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
lea rax, [0x140080160]
mov r9d, 0x1394
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_msg.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rbx, rcx
call fcn.140065ef0
mov rax, qword [rbx + 0x160]
mov rcx, rbx
mov dword [rbx + 0x168], setsockopt
mov qword [rbx + 0x170], 1
mov byte [rax], 1
inc dword [rbx + 8]
call fcn.140058a20
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_msg.c
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x1400589f7
mov dword [rsp + 0x28], eax
mov r9d, 0x139e
lea rax, str.mbedtls_ssl_write_handshake_msg
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, edi
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea rax, str.__write_change_cipher_spec
mov r9d, 0x13a2
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x30
pop rdi
ret
push rbx
sub rsp, 0x30
mov eax, dword [rcx + 8]
mov rbx, rcx
cmp eax, 0x10
je 0x14005baf6
cmp qword [rcx + 0x70], 0
je 0x14005baf6
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.client_state:__d
mov qword [rsp + 0x40], rdi
mov r9d, 0x1183
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.140065ef0
mov rcx, rbx
call fcn.140056c40
mov edi, eax
test eax, eax
jne 0x14005bab1
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x14005b7d3
mov rax, qword [rbx + 0x70]
cmp byte [rax + 7], 1
jne 0x14005b7d3
mov rcx, rbx
call fcn.1400567f0
mov edi, eax
test eax, eax
jne 0x14005bab1
movsxd rdx, dword [rbx + 8]
cmp edx, 0xc
jne 0x14005b7ff
mov rax, qword [rbx + 0x70]
cmp byte [rax + 5], 0
je 0x14005b7ff
mov dword [rbx + 8], select
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x14005c300
cmp edx, 0x11
ja case.0x14005b81a.16
lea r8, [0x140000000]
mov ecx, dword [r8 + rdx*4 + 0x5bb04]
add rcx, r8
jmp rcx
mov eax, edi
mov dword [rbx + 8], 1
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x14005e500
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x14005c6a0
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x140050540
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x14005d540
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x14005bc30
lea rax, [0x140084de0]
mov r9d, 0xe69
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
mov edx, 1
mov rcx, rbx
call fcn.140057cb0
mov edi, eax
test eax, eax
je 0x14005b8fa
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0xe6d
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
cmp dword [rbx + 0xe8], 0x16
je 0x14005b93b
lea rax, str.bad_server_hello_done_message
mov r9d, 0xe73
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov edi, 0xffff8900
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
mov rcx, qword [rbx]
mov eax, recv
mov edx, 4
cmp byte [rcx + 5], 1
cmovne eax, edx
cmp qword [rbx + 0x120], rax
jne 0x14005b9aa
mov rax, qword [rbx + 0xd8]
cmp byte [rax], 0xe
jne 0x14005b9aa
inc dword [rbx + 8]
cmp byte [rcx + 5], 1
jne 0x14005b975
mov rcx, rbx
call fcn.140058050
lea rax, str.__parse_server_hello_done
mov r9d, 0xe87
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
xor edi, edi
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
lea rax, str.bad_server_hello_done_message
mov r9d, 0xe7a
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x32
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov edi, 0xffff8480
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x140051700
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x14005f7d0
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x14005e0f0
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x140058960
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x140051a70
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x1400571a0
mov rcx, rbx
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
jmp 0x140050820
lea rax, str.handshake:_done
mov r9d, 0x11f2
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
mov eax, edi
mov dword [rbx + 8], select
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
mov rcx, rbx
call fcn.140050190
mov eax, edi
mov rdi, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
mov dword [rsp + 0x28], edx
lea rax, str.invalid_state__d
mov edx, 1
mov qword [rsp + 0x20], rax
mov r9d, 0x11fb
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov rcx, rbx
call fcn.140065ef0
mov rdi, qword [rsp + 0x40]
mov eax, 0xffff8f00
add rsp, 0x30
pop rbx
ret
mov eax, 0xffff8f00
add rsp, 0x30
pop rbx
ret
push rbx
push rdi
sub rsp, 0x58
mov rax, qword [rcx + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0xdc2
mov edx, 2
mov rdi, rcx
mov rbx, qword [rax + 0x18]
lea rax, [0x140084d08]
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov eax, dword [rbx + 0x18]
dec eax
cmp eax, 9
ja case.0x14005bc86.5
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x5bff0]
add rcx, rdx
jmp rcx
mov edx, 1
mov rcx, rdi
call fcn.140057cb0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov ebx, eax
test eax, eax
je 0x14005bcce
mov dword [rsp + 0x28], eax
mov r9d, 0xdcd
lea rax, str.mbedtls_ssl_read_record
mov edx, 1
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, ebx
add rsp, 0x58
pop rdi
pop rbx
ret
cmp dword [rdi + 0xe8], 0x16
je 0x14005bd0f
lea rax, str.bad_certificate_request_message
mov r9d, 0xdd3
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140065ef0
mov r8b, 0xa
mov dl, 2
mov rcx, rdi
call fcn.140058310
mov eax, 0xffff8900
add rsp, 0x58
pop rdi
pop rbx
ret
mov rax, qword [rdi + 0xd8]
lea rdx, [0x140084664]
inc dword [rdi + 8]
mov r9d, 0xddf
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x80], r12
movzx ecx, byte [rax]
xor eax, eax
cmp cl, 0xd
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r14
mov rcx, rdi
sete al
mov qword [rsp + 0x40], r15
mov dword [rdi + 0x18c], eax
lea rax, [0x140084668]
cmove rax, rdx
mov edx, 3
mov qword [rsp + 0x28], rax
lea rax, str.got__s_certificate_request
mov qword [rsp + 0x20], rax
call fcn.140065ef0
cmp dword [rdi + 0x18c], 0
jne 0x14005bdb9
mov dword [rdi + 0x12c], 1
lea rax, str.__parse_certificate_request
mov r9d, 0xe5e
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.140065ef0
xor eax, eax
jmp 0x14005be1d
mov rdx, qword [rdi]
mov r8d, 4
mov r13, qword [rdi + 0xd8]
mov eax, recv
movzx ecx, byte [rdx + 5]
cmp cl, 1
cmovne eax, r8d
mov r8, qword [rdi + 0x120]
cmp r8, rax
ja 0x14005be40
lea rax, str.bad_certificate_request_message
mov r9d, 0xe05
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 1
mov rcx, rdi
call fcn.140065ef0
mov r8b, 0x32
mov dl, 2
mov rcx, rdi
call fcn.140058310
mov eax, 0xffff8580
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x40]
add rsp, 0x58
pop rdi
pop rbx
ret
movzx r14d, byte [rax + r13]
lea r9, [rax + r13]
cmp cl, 1
mov r15d, select
mov eax, r15d
mov r10d, 6
cmovne eax, r10d
add rax, r14
cmp r8, rax
ja 0x14005be7e
lea rax, str.bad_certificate_request_message
mov r9d, 0xe19
mov qword [rsp + 0x20], rax
jmp 0x14005bdf7
cmp dword [rdi + 0x18], 3
mov r12d, select
lea r11d, [r12 - 8]
jne 0x14005bf5e
movzx eax, byte [r9 + r14 + 2]
movzx ebp, byte [r9 + r14 + 1]
shl rbp, 8
or rbp, rax
mov eax, r12d
cmp cl, 1
cmovne eax, r11d
add rax, rbp
add rax, r14
cmp r8, rax
ja 0x14005bed2
lea rax, str.bad_certificate_request_message
mov r9d, 0xe3a
mov qword [rsp + 0x20], rax
jmp 0x14005bdf7
lea rbx, [r9 + 3]
add rbx, r14
test rbp, rbp
je 0x14005bf57
mov qword [rsp + 0x78], rsi
lea r12, str.Supported_Signature_Algorithm_found:__d__d
lea rsi, [rbp - 1]
shr rsi, 1
inc rsi
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rbx]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
movzx eax, byte [rbx + 1]
mov r9d, 0xe48
mov dword [rsp + 0x30], eax
mov edx, 3
mov dword [rsp + 0x28], ecx
mov rcx, rdi
mov qword [rsp + 0x20], r12
call fcn.140065ef0
lea rbx, [rbx + 2]
sub rsi, 1
jne 0x14005bf00
mov rsi, qword [rsp + 0x78]
mov r12d, select
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x120]
lea r10d, [r12 - 9]
lea r11d, [r12 - 8]
add r14, 2
add r14, rbp
movzx edx, byte [rdx + 5]
mov ecx, 5
cmp dl, 1
mov eax, recv
cmovne eax, ecx
add rax, r13
movzx ecx, byte [rax + r14]
shl rcx, 8
cmp dl, 1
cmovne r15, r10
add r15, r13
movzx eax, byte [r15 + r14]
or rax, rcx
cmp dl, 1
cmovne r12, r11
add rax, r14
add r12, rax
cmp r8, r12
je 0x14005bd8f
lea rax, str.bad_certificate_request_message
mov r9d, 0xe57
mov qword [rsp + 0x20], rax
jmp 0x14005bdf7
lea rax, str.__skip_parse_certificate_request
mov r9d, 0xdc6
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.140065ef0
inc dword [rdi + 8]
xor eax, eax
add rsp, 0x58
pop rdi
pop rbx
ret
push rbx
push rdi
sub rsp, 0x38
lea rax, [0x140085000]
mov r9d, 0x110d
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rbx, rcx
call fcn.140065ef0
mov edx, 1
mov rcx, rbx
call fcn.140057cb0
mov edi, eax
test eax, eax
je 0x14005c373
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0x1111
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
add rsp, 0x38
pop rdi
pop rbx
ret
cmp dword [rbx + 0xe8], 0x16
je 0x14005c3bb
lea rax, str.bad_new_session_ticket_message
mov r9d, 0x1117
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0xa
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8900
add rsp, 0x38
pop rdi
pop rbx
ret
mov rdx, qword [rbx + 0xd8]
cmp byte [rdx], 4
jne 0x14005c65e
mov rax, qword [rbx]
mov ecx, reloc.WS2_32.dll_select
mov r9, qword [rbx + 0x120]
movzx r8d, byte [rax + 5]
mov eax, 0xa
cmp r8b, 1
cmovne ecx, eax
cmp r9, rcx
jb 0x14005c65e
mov qword [rsp + 0x50], rbp
cmp r8b, 1
mov qword [rsp + 0x58], rsi
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov eax, 4
mov esi, recv
cmovne esi, eax
add rsi, rdx
movzx eax, byte [rsi + 2]
movzx ebp, byte [rsi + 1]
movzx edi, byte [rsi + 4]
shl ebp, 8
or ebp, eax
shl rdi, 8
movzx eax, byte [rsi]
shl eax, 0x18
shl ebp, 8
or ebp, eax
movzx eax, byte [rsi + 3]
or ebp, eax
movzx eax, byte [rsi + 5]
or rdi, rax
lea rax, [rcx + rdi]
mov rcx, rbx
cmp rax, r9
je 0x14005c491
lea rax, str.bad_new_session_ticket_message
mov r9d, 0x113b
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov r8b, 0x32
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov rbp, qword [rsp + 0x50]
mov eax, 0xffff9200
mov rsi, qword [rsp + 0x58]
add rsp, 0x38
pop rdi
pop rbx
ret
lea rax, str.ticket_length:__zu
mov qword [rsp + 0x28], rdi
mov r9d, 0x1141
mov qword [rsp + 0x20], rax
mov edx, 3
call fcn.140065ef0
mov rax, qword [rbx + 0x70]
mov byte [rax + 5], 0
mov dword [rbx + 8], select
test rdi, rdi
jne 0x14005c4d9
mov rbp, qword [rsp + 0x50]
xor eax, eax
mov rsi, qword [rsp + 0x58]
add rsp, 0x38
pop rdi
pop rbx
ret
mov rdx, qword [rbx + 0x60]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x30], r15
xor r15d, r15d
test rdx, rdx
je 0x14005c52e
mov rcx, qword [rdx + 0x80]
test rcx, rcx
je 0x14005c52e
mov rdx, qword [rdx + 0x88]
call fcn.140020050
mov rcx, qword [rbx + 0x60]
mov rcx, qword [rcx + 0x80]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbx + 0x60]
mov qword [rax + 0x80], r15
mov rax, qword [rbx + 0x60]
mov qword [rax + 0x88], r15
mov rcx, qword [rbx + 0x68]
mov rdx, qword [rcx + 0x88]
mov rcx, qword [rcx + 0x80]
call fcn.140020050
mov rcx, qword [rbx + 0x68]
mov rcx, qword [rcx + 0x80]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbx + 0x68]
mov rdx, rdi
mov ecx, 1
mov qword [rax + 0x80], r15
mov rax, qword [rbx + 0x68]
mov qword [rax + 0x88], r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r14, rax
test rax, rax
jne 0x14005c5d4
lea rax, str.ticket_alloc_failed
mov r9d, 0x115f
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
lea edx, [r14 + 1]
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x50
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8100
mov r14, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x38
pop rdi
pop rbx
ret
lea rdx, [rsi + 6]
mov r8, rdi
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx + 0x68]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x1170
mov edx, 3
mov rcx, rbx
mov qword [rax + 0x80], r14
mov rax, qword [rbx + 0x68]
mov qword [rax + 0x88], rdi
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x90], ebp
lea rax, str.ticket_in_use__discarding_session_id
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rax, qword [rbx + 0x68]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x1173
mov edx, 2
mov rcx, rbx
mov qword [rax + 0x18], r15
lea rax, str.__parse_new_session_ticket
mov qword [rsp + 0x20], rax
call fcn.140065ef0
xor eax, eax
jmp 0x14005c5b9
lea rax, str.bad_new_session_ticket_message
mov r9d, 0x112c
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x32
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff9200
add rsp, 0x38
pop rdi
pop rbx
ret
push rbx
push rdi
push r12
push r13
push r15
sub rsp, 0x70
xor r15d, r15d
lea rax, [0x140084468]
lea r12, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0xb0], r15
mov r9d, 0x822
mov qword [rsp + 0x20], rax
mov r8, r12
mov rbx, rcx
lea edx, [r15 + 2]
call fcn.140065ef0
mov r13d, 1
mov rcx, rbx
mov edx, r13d
call fcn.140057cb0
mov edi, eax
test eax, eax
je 0x14005c72a
mov dword [rsp + 0x28], eax
mov r9d, 0x827
lea rax, str.mbedtls_ssl_read_record
mov r8, r12
mov edx, r13d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
add rsp, 0x70
pop r15
pop r13
pop r12
pop rdi
pop rbx
ret
cmp dword [rbx + 0xe8], 0x16
mov qword [rsp + 0xa0], rbp
mov rbp, qword [rbx + 0xd8]
je 0x14005c7f4
cmp dword [rbx + 0xc], r13d
jne 0x14005c7bd
mov ecx, dword [rbx + 0x10]
mov rax, qword [rbx]
inc ecx
mov dword [rbx + 0x10], ecx
mov edx, dword [rax + 0x20]
test edx, edx
js 0x14005c78c
cmp ecx, edx
jle 0x14005c78c
lea rax, str.renegotiation_requested__but_not_honored_by_server
mov r9d, 0x838
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
mov eax, 0xffff8900
jmp 0x14005cd3f
lea rax, str.non_handshake_message_during_renegotiation
mov r9d, 0x83d
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
mov eax, 0xffff9500
mov dword [rbx + 0x12c], r13d
jmp 0x14005cd3f
lea rax, str.bad_server_hello_message
mov r9d, 0x844
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0xa
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8900
jmp 0x14005cd3f
mov rax, qword [rbx]
cmp byte [rax + 5], r13b
jne 0x14005c87b
cmp byte [rbp], 3
jne 0x14005c854
lea rax, str.received_hello_verify_request
mov r9d, 0x851
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
lea rax, str.__parse_server_hello
mov r9d, 0x852
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
mov rcx, rbx
call fcn.14005c020
jmp 0x14005cd3f
mov rcx, qword [rbx + 0x70]
mov rcx, qword [rcx + 0x468]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x468], r15
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x470], r15b
mov rax, qword [rbx]
mov edx, 0x2a
mov qword [rsp + 0x60], r14
mov r14d, 0x32
movzx ecx, byte [rax + 5]
mov eax, r14d
cmp cl, r13b
cmovne eax, edx
cmp qword [rbx + 0x120], rax
jb 0x14005d504
cmp byte [rbp], 2
jne 0x14005d504
cmp cl, r13b
mov qword [rsp + 0x30], 2
mov edx, 4
mov qword [rsp + 0x68], rsi
mov eax, recv
mov r9d, 0x875
cmovne eax, edx
mov r8, r12
add rbp, rax
lea edx, [r14 - 0x2f]
lea rax, str.server_hello__version
mov qword [rsp + 0x28], rbp
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140065670
mov rax, qword [rbx]
lea rdx, [rbx + 0x18]
mov r9, rbp
lea rcx, [rbx + 0x14]
movzx r8d, byte [rax + 5]
call fcn.140058010
mov rdx, qword [rbx]
mov r8d, dword [rbx + 0x14]
movzx r9d, byte [rdx + 2]
cmp r8d, r9d
jl 0x14005d4a5
movzx eax, byte [rdx + 3]
mov ecx, dword [rbx + 0x18]
cmp ecx, eax
jl 0x14005d4a5
movzx eax, byte [rdx]
cmp r8d, eax
jg 0x14005d4a5
movzx eax, byte [rdx + 1]
cmp ecx, eax
jg 0x14005d4a5
movzx eax, byte [rbp + 2]
lea rdi, [rbp + 2]
movzx ecx, byte [rbp + 3]
lea edx, [r14 - 0x2f]
shl eax, 8
mov r9d, 0x890
or ecx, eax
mov r8, r12
movzx eax, byte [rbp + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbp + 5]
shl ecx, 8
or ecx, eax
lea rax, str.server_hello__current_time:__lu
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rax, qword [rbx + 0x70]
lea edx, [r14 - 0x2f]
movups xmm0, xmmword [rdi]
mov qword [rsp + 0x30], 0x20
mov r9d, 0x896
mov qword [rsp + 0x28], rdi
mov r8, r12
movups xmmword [rax + 0x6c8], xmm0
mov rcx, rbx
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x6d8], xmm1
movzx esi, byte [rbp + 0x22]
lea rax, str.server_hello__random_bytes
mov qword [rsp + 0x20], rax
call fcn.140065670
cmp rsi, 0x20
jbe 0x14005ca10
lea rax, str.bad_server_hello_message
mov r9d, 0x89a
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
movzx r8d, r14b
jmp 0x14005cd26
mov rax, qword [rbx]
mov r8d, 0x2b
mov rdx, qword [rbx + 0x120]
movzx ecx, byte [rax + 5]
mov eax, 0x33
cmp cl, r13b
cmovne eax, r8d
add rax, rsi
cmp rdx, rax
jbe 0x14005ca87
movzx eax, byte [rsi + rbp + 0x27]
lea r14, [rsi + rbp]
movzx r8d, byte [r14 + 0x26]
shl r8, 8
or r8, rax
mov qword [rsp + 0xa8], r8
lea rax, [r8 - 1]
cmp rax, 2
jbe 0x14005ca7c
cmp cl, r13b
mov eax, 0x34
mov r9d, 0x2c
cmovne eax, r9d
add rax, r8
add rax, rsi
cmp rdx, rax
je 0x14005caab
mov r9d, 0x8a8
jmp 0x14005d483
cmp cl, r13b
mov eax, 0x2a
cmovne r14, rax
add r14, rsi
cmp rdx, r14
jne 0x14005d47d
mov qword [rsp + 0xa8], r15
lea r14, [rsi + rbp]
movzx eax, byte [r14 + 0x24]
movzx edi, byte [r14 + 0x23]
shl edi, 8
or edi, eax
movzx eax, byte [r14 + 0x25]
test al, al
je 0x14005cafe
mov dword [rsp + 0x28], eax
mov r9d, 0x8d4
lea rax, str.server_hello__bad_compression:__d
mov r8, r12
mov edx, r13d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8f80
jmp 0x14005cd35
mov ecx, edi
call fcn.14005b510
mov rcx, qword [rbx + 0x70]
mov qword [rcx + 0x18], rax
mov rcx, rbx
mov rax, qword [rbx + 0x70]
mov rdx, qword [rax + 0x18]
test rdx, rdx
jne 0x14005cb55
lea rax, str.ciphersuite_info_for__04x_not_found
mov dword [rsp + 0x28], edi
mov r9d, 0x8e3
mov qword [rsp + 0x20], rax
mov r8, r12
mov edx, r13d
call fcn.140065ef0
mov r8b, 0x50
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8f00
jmp 0x14005cd35
call fcn.140050510
lea rax, str.server_hello__session_id_len.:__zu
mov qword [rsp + 0x28], rsi
mov r9d, 0x8eb
mov qword [rsp + 0x20], rax
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
lea rax, str.server_hello__session_id
mov qword [rsp + 0x30], rsi
add rbp, 0x23
mov r9d, 0x8ec
mov qword [rsp + 0x28], rbp
mov r8, r12
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065670
mov r15, qword [rbx + 0x70]
cmp byte [r15 + 2], 0
je 0x14005cbf8
test rsi, rsi
je 0x14005cbf8
cmp dword [rbx + 0xc], 0
jne 0x14005cbf8
mov rcx, qword [rbx + 0x68]
cmp dword [rcx + 0x10], edi
jne 0x14005cbf8
cmp dword [rcx + 0x14], 0
jne 0x14005cbf8
cmp qword [rcx + 0x18], rsi
jne 0x14005cbf8
add rcx, 0x20
mov r8, rsi
mov rdx, rbp
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14005cbf8
mov dword [rbx + 8], select
jmp 0x14005cc3d
inc dword [rbx + 8]
xor ecx, ecx
mov byte [r15 + 2], 0
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, qword [rbx + 0x68]
mov r8, rsi
mov rdx, rbp
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x10], edi
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x14], 0
mov rax, qword [rbx + 0x68]
mov qword [rax + 0x18], rsi
mov rcx, qword [rbx + 0x68]
add rcx, 0x20
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx + 0x70]
lea rdx, [0x140084664]
lea rcx, [0x140084668]
mov r9d, 0x90a
mov r8, r12
cmp byte [rax + 2], 0
lea rax, str._s_session_has_been_resumed
cmovne rcx, rdx
mov edx, 3
mov qword [rsp + 0x28], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140065ef0
lea rax, str.server_hello__chosen_ciphersuite:__04x
mov dword [rsp + 0x28], edi
mov r9d, 0x90c
mov qword [rsp + 0x20], rax
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
movzx eax, byte [r14 + 0x25]
mov r9d, 0x90e
mov dword [rsp + 0x28], eax
mov r8, r12
lea rax, str.server_hello__compress_alg.:__d
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140065ef0
movsxd rdx, dword [rbx + 0x18]
lea rbp, [rbx + 0x18]
mov r9, qword [rbx]
mov rcx, qword [r9 + rdx*8 + 0x38]
cmp dword [rcx], 0
je 0x14005cd03
mov rax, qword [rbx + 0x68]
mov rdx, rcx
sub rdx, rcx
mov r8d, dword [rax + 0x10]
mov eax, dword [rdx + rcx]
lea rcx, [rcx + 4]
cmp eax, r8d
je 0x14005cd54
cmp dword [rcx], 0
jne 0x14005ccf2
lea rax, str.bad_server_hello_message
mov r9d, 0x918
mov qword [rsp + 0x20], rax
mov r8, r12
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x2f
mov rcx, rbx
mov dl, 2
call fcn.140058310
mov eax, 0xffff8680
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov rbp, qword [rsp + 0xa0]
add rsp, 0x70
pop r15
pop r13
pop r12
pop rdi
pop rbx
ret
mov ecx, r8d
call fcn.14005b510
mov r8d, dword [rbp]
mov rdx, rbx
mov r9d, r8d
mov rcx, rax
mov rdi, rax
call fcn.14005e070
mov r8, r12
mov rcx, rbx
test eax, eax
je 0x14005cd92
lea rax, str.bad_server_hello_message
mov r9d, 0x92c
mov qword [rsp + 0x20], rax
mov edx, r13d
jmp 0x14005cd1e
mov rax, qword [rdi + 8]
mov r9d, 0x935
mov qword [rsp + 0x28], rax
mov edx, 3
lea rax, str.server_hello__chosen_ciphersuite:__s
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rax, qword [rbx + 0x68]
xor esi, esi
mov r15, qword [rsp + 0xa8]
mov r9d, 0x951
mov qword [rsp + 0x28], r15
mov r8, r12
mov rcx, rbx
add r14, 0x28
mov dword [rax + 0x14], esi
lea edx, [rsi + 2]
lea rax, str.server_hello__total_extension_length:__zu
mov qword [rsp + 0x20], rax
call fcn.140065ef0
test r15, r15
je 0x14005d273
movzx eax, byte [r14 + 1]
lea r11, [0x1400847c0]
movzx ecx, byte [r14]
lea r10, [0x1400847e8]
movzx edi, byte [r14 + 2]
lea rdx, str.unknown_extension_found:__u__ignoring_
shl ecx, 8
lea r9, [0x140084798]
or ecx, eax
shl edi, 8
movzx eax, byte [r14 + 3]
lea r8, [0x140084778]
or edi, eax
lea esi, [rdi + 4]
mov qword [rsp + 0xa8], rsi
cmp rsi, r15
ja 0x14005d3ce
cmp ecx, 0x16
ja 0x14005d0df
je 0x14005d095
mov eax, ecx
sub eax, r13d
je 0x14005d044
sub eax, 3
je 0x14005d004
sub eax, 7
je 0x14005cf5f
cmp eax, 5
jne 0x14005d0f9
lea rax, str.found_alpn_extension
mov r9d, 0x9e1
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx]
mov edx, edi
mov rsi, qword [rax + 0x188]
test rsi, rsi
je 0x14005d2cb
cmp rdx, 4
jb 0x14005d49d
movzx eax, byte [r14 + 5]
movzx ecx, byte [r14 + 4]
shl rcx, 8
or rcx, rax
lea rax, [rdi - 2]
cmp rcx, rax
jne 0x14005d49d
movzx ebp, byte [r14 + 6]
lea rax, [rcx - 1]
cmp rbp, rax
jne 0x14005d49d
mov rdi, qword [rsi]
test rdi, rdi
je 0x14005cf35
nop dword [rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x14005cf07
cmp rbp, rax
jne 0x14005cf28
lea rcx, [r14 + 7]
mov r8, rbp
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14005cf47
mov rdi, qword [rsi + 8]
add rsi, 8
test rdi, rdi
jne 0x14005cf00
lea rax, str.ALPN_extension:_no_matching_protocol
mov r9d, 0x73c
jmp 0x14005d34d
mov rsi, qword [rsp + 0xa8]
lea rbp, [rbx + 0x18]
mov qword [rbx + 0x198], rdi
jmp 0x14005d24e
lea rax, [0x140084808]
mov r9d, 0x9c6
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov edx, edi
test edi, edi
je 0x14005d2f3
movzx ecx, byte [r14 + 4]
lea rax, [rcx + 1]
cmp rax, rdx
jne 0x14005d2f3
lea rdx, [r14 + 5]
test rcx, rcx
je 0x14005cfb5
movzx eax, byte [rdx]
cmp al, 2
jb 0x14005cfca
inc rdx
sub rcx, r13
jne 0x14005cfa6
mov dil, 0x28
lea rax, str.no_point_format_in_common
mov r9d, 0x6d1
jmp 0x14005d303
mov ecx, eax
mov r9d, 0x6c9
mov rax, qword [rbx + 0x70]
mov r8, r12
mov dword [rax + 0x2f0], ecx
mov rcx, rbx
movzx eax, byte [rdx]
mov edx, 4
mov dword [rsp + 0x28], eax
lea rax, str.point_format_selected:__d
mov qword [rsp + 0x20], rax
call fcn.140065ef0
jmp 0x14005d24e
mov qword [rsp + 0x20], r8
mov r9d, 0x981
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx]
cmp byte [rax + 0xf], 0
je 0x14005d31f
test edi, edi
jne 0x14005d31f
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x94], r13d
jmp 0x14005d24e
lea rax, [0x140084750]
mov r9d, 0x974
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx]
movzx ecx, byte [rax + 9]
test cl, cl
je 0x14005d080
cmp edi, r13d
jne 0x14005d080
cmp byte [r14 + 4], cl
je 0x14005d24e
mov sil, 0x2f
lea rax, str.non_matching_max_fragment_length_extension
mov r9d, 0x5fb
jmp 0x14005d3ac
mov qword [rsp + 0x20], r9
mov r8, r12
mov r9d, 0x99c
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx]
cmp byte [rax + 0xa], 0
je 0x14005d331
cmp dword [rbp], 0
je 0x14005d331
test edi, edi
jne 0x14005d331
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x98], r13d
jmp 0x14005d24e
cmp ecx, 0x17
je 0x14005d20c
cmp ecx, 0x23
je 0x14005d1d2
cmp ecx, 0xff01
je 0x14005d11d
mov dword [rsp + 0x28], ecx
mov r9d, 0x9f5
mov qword [rsp + 0x20], rdx
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
jmp 0x14005d24e
lea rax, str.found_renegotiation_extension
mov r9d, 0x966
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
cmp dword [rbx + 0xc], 0
mov dword [rsp + 0xb0], r13d
mov ecx, edi
je 0x14005d1b5
mov r8, qword [rbx + 0x1b8]
lea rdx, [r8 + r8]
lea rax, [rdx + 1]
cmp rcx, rax
jne 0x14005d1a3
movzx eax, byte [r14 + 4]
cmp rax, rdx
jne 0x14005d1a3
lea rdx, [rbx + 0x1c0]
lea rcx, [r14 + 5]
call fcn.140042890
test eax, eax
jne 0x14005d1a3
mov r8, qword [rbx + 0x1b8]
lea rdx, [rbx + 0x1cc]
lea rcx, [r8 + 5]
add rcx, r14
call fcn.140042890
test eax, eax
je 0x14005d24e
mov r9d, 0x5d0
lea rax, str.non_matching_renegotiation_info
jmp 0x14005d34d
cmp rcx, r13
jne 0x14005d340
cmp byte [r14 + 4], 0
jne 0x14005d340
mov dword [rbx + 0x1b0], r13d
jmp 0x14005d24e
mov r9d, 0x9b7
mov qword [rsp + 0x20], r10
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx]
cmp byte [rax + 0x10], 0
je 0x14005d368
test edi, edi
jne 0x14005d368
mov rax, qword [rbx + 0x70]
mov byte [rax + 5], r13b
jmp 0x14005d24e
mov r9d, 0x9aa
mov qword [rsp + 0x20], r11
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.140065ef0
mov rax, qword [rbx]
cmp byte [rax + 0xb], 0
je 0x14005d39c
cmp dword [rbp], 0
je 0x14005d39c
test edi, edi
jne 0x14005d39c
mov rax, qword [rbx + 0x70]
mov byte [rax + 6], r13b
sub r15, rsi
add r14, rsi
lea rax, [r15 - 1]
cmp rax, 2
jbe 0x14005d377
test r15, r15
jne 0x14005cdfa
mov rsi, qword [rsp + 0xb0]
mov rax, qword [rbx + 0x70]
cmp byte [rax + 2], 0
je 0x14005d3d9
mov rcx, rbx
call fcn.14004f260
mov edi, eax
test eax, eax
je 0x14005d3d9
mov dword [rsp + 0x28], eax
mov r9d, 0xa0b
lea rax, str.mbedtls_ssl_derive_keys
mov r8, r12
mov edx, r13d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov r8b, 0x50
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, edi
jmp 0x14005cd35
lea rax, str.non_matching_ALPN_extension
mov r9d, 0x707
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
mov r8b, WSAGetLastError
jmp 0x14005cd26
mov dil, 0x32
lea rax, str.bad_server_hello_message
mov r9d, 0x6b6
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
movzx r8d, dil
jmp 0x14005cd26
mov sil, 0x28
lea rax, str.non_matching_truncated_HMAC_extension
mov r9d, 0x611
jmp 0x14005d3ac
mov r9d, 0x665
lea rax, str.non_matching_encrypt_then_MAC_extension
jmp 0x14005d3a9
mov r9d, 0x5de
lea rax, str.non_zero_length_renegotiation_info
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov edx, r13d
mov r8, r12
call fcn.140065ef0
mov r8b, 0x28
jmp 0x14005cd26
mov r9d, 0x69a
lea rax, str.non_matching_session_ticket_extension
jmp 0x14005d3a9
lea rax, str.bad_server_hello_message
mov r9d, 0x9fd
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
jmp 0x14005cd30
mov r9d, 0x680
lea rax, str.non_matching_extended_master_secret_extension
mov sil, WSAGetLastError
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
mov rdi, rbx
call fcn.140065ef0
movzx r8d, sil
mov rcx, rbx
jmp 0x14005cd29
mov r9d, 0x95c
jmp 0x14005d483
mov ecx, dword [rbx + 0x1b0]
test ecx, ecx
jne 0x14005d3fe
mov rax, qword [rbx]
cmp byte [rax + 7], 2
jne 0x14005d3fe
mov r9d, 0xa1c
lea rax, str.legacy_renegotiation__breaking_off_handshake
jmp 0x14005d34d
cmp dword [rbx + 0xc], r13d
jne 0x14005d454
cmp ecx, r13d
jne 0x14005d41f
test esi, esi
jne 0x14005d454
mov r9d, 0xa25
lea rax, str.renegotiation_info_extension_missing__secure_
jmp 0x14005d34d
test ecx, ecx
jne 0x14005d454
mov rax, qword [rbx]
cmp byte [rax + 7], cl
jne 0x14005d43d
mov r9d, 0xa2d
lea rax, str.legacy_renegotiation_not_allowed
jmp 0x14005d34d
cmp esi, r13d
jne 0x14005d454
mov r9d, 0xa35
lea rax, str.renegotiation_info_extension_present__legacy_
jmp 0x14005d34d
lea rax, str.__parse_server_hello
mov r9d, 0xa43
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
xor eax, eax
jmp 0x14005cd35
mov r9d, 0x8b6
lea rax, str.bad_server_hello_message
mov r8, r12
mov edx, r13d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x32
jmp 0x14005cd26
movzx eax, byte [rdx + 1]
movzx ecx, byte [rdx]
movzx edx, byte [rdx + 3]
mov dword [rsp + 0x50], eax
mov eax, dword [rbx + 0x18]
mov dword [rsp + 0x48], ecx
mov rcx, rbx
mov dword [rsp + 0x40], eax
lea rax, str.server_version_out_of_bounds____min:___d:_d___server:___d:_d___max:___d:_d_
mov dword [rsp + 0x38], r8d
mov r8, r12
mov dword [rsp + 0x30], edx
mov edx, r13d
mov dword [rsp + 0x28], r9d
mov r9d, 0x884
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov r8b, 0x46
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff9180
jmp 0x14005cd35
lea rax, str.bad_server_hello_message
mov r9d, 0x862
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r13d
mov rcx, rbx
call fcn.140065ef0
movzx r8d, r14b
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8680
jmp 0x14005cd3a
push rbp
push rbx
push rsi
push r12
lea rbp, [rsp - 0x3f]
sub rsp, 0xb8
mov rax, qword [0x14009f320]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rax, qword [rcx + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
xor r12d, r12d
mov r9d, 0xc16
mov rbx, rcx
mov rsi, qword [rax + 0x18]
lea rax, [0x140084be0]
lea edx, [r12 + 2]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x39], r12
call fcn.140065ef0
mov eax, dword [rsi + 0x18]
cmp eax, 1
jne 0x14005d5cd
lea rax, str.__skip_parse_server_key_exchange
mov r9d, 0xc1b
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
lea edx, [r12 + 2]
mov rcx, rbx
call fcn.140065ef0
inc dword [rbx + 8]
xor eax, eax
jmp 0x14005d959
add eax, 0xfffffff7
mov qword [rsp + 0xe8], rdi
cmp eax, 1
jbe 0x14005dee6
mov edx, 1
mov rcx, rbx
call fcn.140057cb0
mov edi, eax
test eax, eax
je 0x14005d625
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0xc45
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
jmp 0x14005d951
cmp dword [rbx + 0xe8], 0x16
je 0x14005d66b
lea rax, str.bad_server_key_exchange_message
mov r9d, 0xc4b
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0xa
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8900
jmp 0x14005d951
mov r8, qword [rbx + 0xd8]
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0xb0], r15
cmp byte [r8], 0xc
je 0x14005d718
mov eax, dword [rsi + 0x18]
sub eax, 5
test eax, 0xfffffffd
je 0x14005d6de
lea rax, str.server_key_exchange_message_must_not_be_skipped
mov r9d, 0xc63
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0xa
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8900
jmp 0x14005d939
mov dword [rbx + 0x12c], 1
inc dword [rbx + 8]
lea rax, str.__parse_server_key_exchange
mov r9d, 0xd9f
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 2
mov rcx, rbx
call fcn.140065ef0
xor eax, eax
jmp 0x14005d939
mov rax, qword [rbx]
mov edi, 4
mov r14, qword [rbx + 0x120]
mov r13d, recv
mov edx, r13d
mov r9d, 0xc74
mov rcx, rbx
cmp byte [rax + 5], 1
cmovne edx, edi
add r14, r8
add rdx, r8
mov rax, r14
sub rax, rdx
mov qword [rbp - 0x39], rdx
mov qword [rsp + 0x30], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x28], rdx
lea rax, str.server_key_exchange
lea edx, [rdi - 1]
mov qword [rsp + 0x20], rax
call fcn.140065670
mov eax, dword [rsi + 0x18]
mov rdx, qword [rbp - 0x39]
sub eax, 5
cmp eax, 3
ja 0x14005d824
mov rax, r14
sub rax, rdx
cmp rax, 2
jge 0x14005d79c
mov r9d, 0xb1f
jmp 0x14005d7bf
movzx eax, byte [rdx + 1]
lea r8, [rdx + 2]
movzx ecx, byte [rdx]
shl rcx, 8
or rcx, rax
mov rax, r14
sub rax, r8
cmp rax, rcx
jge 0x14005d81c
mov r9d, 0xb28
lea rax, str.bad_server_key_exchange_message__psk_identity_hint_length_
mov rcx, rbx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
call fcn.140065ef0
lea rax, str.bad_server_key_exchange_message
mov r9d, 0xc7e
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8500
jmp 0x14005d939
lea rdx, [r8 + rcx]
mov qword [rbp - 0x39], rdx
mov ecx, dword [rsi + 0x18]
lea eax, [rcx - 5]
test eax, 0xfffffffd
je 0x14005dacf
lea eax, [rcx - 2]
test eax, 0xfffffffb
je 0x14005d972
lea eax, [rcx - 3]
test eax, 0xfffffffa
jne 0x14005d90e
cmp ecx, 7
je 0x14005d90e
mov rcx, qword [rbx + 0x70]
lea rdx, [rbp - 0x39]
add rcx, 0x138
mov r8, r14
call fcn.14006c990
mov rcx, rbx
test eax, eax
je 0x14005d8a1
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ecdh_read_params
mov r9d, 0xaf8
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
jmp 0x14005d8d4
call fcn.14005bb50
test eax, eax
je 0x14005dacb
lea rax, str.bad_server_key_exchange_message__ECDHE_curve_
mov r9d, 0xb03
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
lea rax, str.bad_server_key_exchange_message
mov r9d, 0xcbf
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8500
jmp 0x14005d939
lea rax, str.should_never_happen
mov r9d, 0xcdd
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov eax, 0xffff9400
mov r14, qword [rsp + 0xf8]
mov r13, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xe8]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14006ab10
add rsp, 0xb8
pop r12
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rbx + 0x70]
lea rdx, [rbp - 0x39]
add rcx, 0x40
mov r8, r14
call fcn.14006c340
test eax, eax
je 0x14005d9b6
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_dhm_read_params
mov r9d, 0xa5e
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
jmp 0x14005d9fd
mov rcx, qword [rbx + 0x70]
add rcx, 0x48
call fcn.140026b70
mov rcx, qword [rbx]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, dword [rcx + 0x30]
mov rcx, rbx
cmp rax, rdx
jae 0x14005da3a
mov dword [rsp + 0x30], edx
mov r9d, 0xa67
mov qword [rsp + 0x28], rax
mov edx, 1
lea rax, str.DHM_prime_too_short:__zu____u
mov qword [rsp + 0x20], rax
call fcn.140065ef0
lea rax, str.bad_server_key_exchange_message
mov r9d, 0xc97
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8500
jmp 0x14005d939
mov rax, qword [rbx + 0x70]
mov r9d, 0xa6b
add rax, 0x48
mov edx, 3
mov qword [rsp + 0x28], rax
lea rax, str.DHM:_P
mov qword [rsp + 0x20], rax
call fcn.140065cf0
mov rax, qword [rbx + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
add rax, 0x60
mov r9d, 0xa6c
mov qword [rsp + 0x28], rax
mov edx, 3
lea rax, str.DHM:_G
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140065cf0
mov rax, qword [rbx + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
add rax, 0xa8
mov r9d, 0xa6d
mov qword [rsp + 0x28], rax
mov edx, 3
lea rax, str.DHM:_GY
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140065cf0
mov rdx, qword [rbp - 0x39]
mov ecx, dword [rsi + 0x18]
sub ecx, 2
je 0x14005dae4
sub ecx, 1
je 0x14005dae4
mov eax, r12d
cmp ecx, 1
jne 0x14005dae9
mov eax, 1
test eax, eax
je 0x14005d6e8
mov rax, qword [rbx]
cmp byte [rax + 5], 1
mov rax, rdx
cmovne r13, rdi
add r13, qword [rbx + 0xd8]
sub rax, r13
cmp dword [rbx + 0x18], 3
mov qword [rbp - 0x29], rax
jne 0x14005dcb1
lea rax, [rdx + 2]
cmp rax, r14
ja 0x14005db5f
movzx ecx, byte [rdx]
call fcn.1400504b0
mov edi, eax
test eax, eax
jne 0x14005db9c
mov rax, qword [rbp - 0x39]
mov r9d, 0xbb0
movzx ecx, byte [rax]
lea rax, str.Server_used_unsupported_HashAlgorithm__d
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
lea rax, str.bad_server_key_exchange_message
mov r9d, 0xcfc
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8500
jmp 0x14005d939
mov rcx, qword [rbp - 0x39]
movzx ecx, byte [rcx + 1]
call fcn.140050a80
mov r15d, eax
test eax, eax
jne 0x14005dbd3
mov rax, qword [rbp - 0x39]
mov r9d, 0xbbb
movzx ecx, byte [rax + 1]
lea rax, str.server_used_unsupported_SignatureAlgorithm__d
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
jmp 0x14005db4b
mov edx, edi
mov rcx, rbx
call fcn.14004ed50
test eax, eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov rax, qword [rbp - 0x39]
je 0x14005dc0a
movzx ecx, byte [rax]
mov r9d, 0xbc5
lea rax, str.server_used_HashAlgorithm__d_that_was_not_offered
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
jmp 0x14005db52
movzx ecx, byte [rax + 1]
mov r9d, 0xbca
mov dword [rsp + 0x28], ecx
lea rax, str.Server_used_SignatureAlgorithm__d
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.140065ef0
mov rax, qword [rbp - 0x39]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0xbcc
mov rcx, rbx
movzx edx, byte [rax]
lea rax, str.Server_used_HashAlgorithm__d
mov dword [rsp + 0x28], edx
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.140065ef0
add qword [rbp - 0x39], 2
mov rcx, rsi
call fcn.14005b620
cmp r15d, eax
je 0x14005dcd0
lea rax, str.bad_server_key_exchange_message
mov r9d, 0xd08
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8500
jmp 0x14005d939
jge 0x14005decf
mov rcx, rsi
call fcn.14005b620
cmp eax, 4
mov r15d, eax
mov eax, 4
mov edi, r12d
cmove edi, eax
mov rcx, qword [rbp - 0x39]
lea rax, [r14 - 2]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
cmp rcx, rax
jbe 0x14005dcec
mov r9d, 0xd29
jmp 0x14005dd10
movzx esi, byte [rcx]
movzx eax, byte [rcx + 1]
add rcx, 2
shl rsi, 8
or rsi, rax
mov qword [rbp - 0x39], rcx
sub r14, rsi
cmp rcx, r14
je 0x14005dd40
mov r9d, 0xd35
lea rax, str.bad_server_key_exchange_message
mov edx, 1
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov r8b, 0x32
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff8500
jmp 0x14005d939
mov qword [rsp + 0x30], rsi
lea rax, str.signature
mov qword [rsp + 0x28], rcx
mov r9d, 0xd3d
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov edx, 3
call fcn.140065670
lea rdx, [rbp - 0x19]
mov rcx, rbx
test edi, edi
jne 0x14005dd91
mov r9, qword [rbp - 0x29]
mov r8, r13
mov qword [rbp - 0x31], 0x24
call fcn.14004f910
test eax, eax
je 0x14005ddb2
jmp 0x14005d939
mov rax, qword [rbp - 0x29]
lea r8, [rbp - 0x31]
mov dword [rsp + 0x28], edi
mov r9, r13
mov qword [rsp + 0x20], rax
call fcn.14004fb10
test eax, eax
jne 0x14005d939
mov rax, qword [rbp - 0x31]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x30], rax
mov r9d, 0xd61
lea rax, [rbp - 0x19]
mov edx, 3
mov qword [rsp + 0x28], rax
mov rcx, rbx
lea rax, str.parameters_hash
mov qword [rsp + 0x20], rax
call fcn.140065670
mov rax, qword [rbx + 0x68]
mov r14, qword [rax + 0x70]
test r14, r14
jne 0x14005de0e
lea rax, str.should_never_happen
mov r9d, 0xd69
mov qword [rsp + 0x20], rax
jmp 0x14005d920
mov edx, r15d
lea rcx, [r14 + 0x168]
call fcn.14001cb30
test eax, eax
jne 0x14005de5e
lea rax, str.bad_server_key_exchange_message
mov r9d, 0xd74
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, 0xffff9300
jmp 0x14005d939
mov rax, qword [rbp - 0x39]
lea r8, [rbp - 0x19]
mov r9, qword [rbp - 0x31]
lea rcx, [r14 + 0x168]
mov qword [rsp + 0x30], r12
mov edx, edi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.14001ce10
mov edi, eax
test eax, eax
je 0x14005d6e8
mov r8b, 0x33
mov dl, 2
mov rcx, rbx
call fcn.140058310
lea rax, str.mbedtls_pk_verify
mov dword [rsp + 0x28], edi
mov r9d, 0xd8b
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 1
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
jmp 0x14005d939
lea rax, str.should_never_happen
mov r9d, 0xd1f
mov qword [rsp + 0x20], rax
jmp 0x14005d920
mov rax, qword [rbx + 0x68]
mov rcx, qword [rax + 0x70]
test rcx, rcx
jne 0x14005df21
lea rax, str.should_never_happen
mov r9d, 0xbe5
lea edx, [rcx + 1]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
call fcn.140065ef0
mov edi, 0xffff9400
jmp 0x14005e00b
lea rdi, [rcx + 0x168]
mov edx, 2
mov rcx, rdi
call fcn.14001cb30
test eax, eax
jne 0x14005df69
lea rax, str.server_key_not_ECDH_capable
mov r9d, 0xbef
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov edi, 0xffff9300
jmp 0x14005e00b
movups xmm0, xmmword [rdi]
lea rcx, [rbp - 0x29]
movaps xmmword [rbp - 0x29], xmm0
call fcn.14001cc60
sub eax, 2
je 0x14005df88
sub eax, 1
je 0x14005df88
cmp eax, 1
jne 0x14005df8c
mov r12, qword [rbp - 0x21]
mov rcx, qword [rbx + 0x70]
mov r8d, 1
add rcx, 0x138
mov rdx, r12
call fcn.14006c6c0
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x14005dfd7
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ecdh_get_params
mov r9d, 0xbf8
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
jmp 0x14005e00b
call fcn.14005bb50
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov rcx, rbx
test eax, eax
je 0x14005e049
lea rax, str.bad_server_certificate__ECDH_curve_
mov r9d, 0xbfe
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov edi, 0xffff8600
lea rax, str.ssl_get_ecdh_params_from_cert
mov dword [rsp + 0x28], edi
mov r9d, 0xc2a
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 1
mov rcx, rbx
call fcn.140065fb0
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.140058310
mov eax, edi
jmp 0x14005d951
lea rax, str.__skip_parse_server_key_exchange
mov r9d, 0xc32
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.140065ef0
inc dword [rbx + 8]
xor eax, eax
jmp 0x14005d951
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x14009f320]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
xor ebp, ebp
lea r14, [rsp + 0x60]
mov r9d, 0x1064
mov rbx, rcx
mov rsi, qword [rax + 0x18]
lea rax, [0x140084f60]
lea edx, [rbp + 2]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], 0
call fcn.140065ef0
mov rcx, rbx
call fcn.14004f260
mov edi, eax
test eax, eax
je 0x14005e190
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ssl_derive_keys
mov r9d, 0x1070
lea edx, [rbp + 1]
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
jmp 0x14005e4a1
mov eax, dword [rsi + 0x18]
dec eax
cmp eax, 9
ja case.0x14005e1b1.5
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x5e4cc]
add rcx, rdx
jmp rcx
cmp dword [rbx + 0x18c], ebp
je 0x14005e46e
mov r9, qword [rbx + 0x70]
test r9, r9
je 0x14005e1d4
mov rax, qword [r9 + 0x3b8]
test rax, rax
jne 0x14005e1e7
mov rax, qword [rbx]
mov rax, qword [rax + 0x110]
test rax, rax
je 0x14005e46e
cmp qword [rax], rbp
je 0x14005e46e
test r9, r9
je 0x14005e201
mov rax, qword [r9 + 0x3b8]
test rax, rax
jne 0x14005e214
mov rax, qword [rbx]
mov rax, qword [rax + 0x110]
test rax, rax
je 0x14005e441
cmp qword [rax + 8], rbp
je 0x14005e441
lea r8, [rsp + 0x50]
mov rcx, rbx
lea rdx, [rsp + 0x60]
call qword [r9 + 0x28]
cmp dword [rbx + 0x18], 3
mov rax, qword [rbx + 0x70]
je 0x14005e286
xor edi, edi
test rax, rax
je 0x14005e24c
mov rax, qword [rax + 0x3b8]
test rax, rax
jne 0x14005e25f
mov rax, qword [rbx]
mov rax, qword [rax + 0x110]
test rax, rax
jne 0x14005e25f
xor ecx, ecx
jmp 0x14005e263
mov rcx, qword [rax + 8]
mov edx, 4
call fcn.14001cb30
mov r9, qword [rsp + 0x50]
test eax, eax
je 0x14005e2f1
lea r14, [rsp + 0x70]
sub r9, 0x10
mov edi, 4
jmp 0x14005e2ec
mov rcx, qword [rax + 0x18]
mov rdx, qword [rbx + 0x160]
cmp dword [rcx + 0x14], 7
jne 0x14005e2a0
mov edi, 7
mov al, 5
jmp 0x14005e2a7
mov edi, 6
mov al, 4
mov byte [rdx + 4], al
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x14005e2bf
mov rax, qword [rax + 0x3b8]
test rax, rax
jne 0x14005e2d2
mov rax, qword [rbx]
mov rax, qword [rax + 0x110]
test rax, rax
jne 0x14005e2d2
xor ecx, ecx
jmp 0x14005e2d6
mov rcx, qword [rax + 8]
call fcn.140051560
mov rcx, qword [rbx + 0x160]
xor r9d, r9d
mov byte [rcx + 5], al
lea ebp, [r9 + 2]
mov qword [rsp + 0x50], r9
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x14005e306
mov rax, qword [rax + 0x3b8]
test rax, rax
jne 0x14005e319
mov rax, qword [rbx]
mov rax, qword [rax + 0x110]
test rax, rax
jne 0x14005e319
xor ecx, ecx
jmp 0x14005e31d
mov rcx, qword [rax + 8]
mov rdx, qword [rbx]
mov r8, r14
mov r10, qword [rbx + 0x160]
mov qword [rsp + 0x40], 0
add r10, 6
add r10, rbp
mov rax, qword [rdx + 0x70]
mov qword [rsp + 0x38], rax
mov rax, qword [rdx + 0x68]
mov edx, edi
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
call fcn.14001cd30
mov edi, eax
test eax, eax
je 0x14005e399
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_pk_sign
mov r9d, 0x10e7
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065fb0
mov eax, edi
jmp 0x14005e4a1
mov rax, qword [rbx + 0x160]
mov rcx, qword [rsp + 0x58]
shr rcx, 8
mov byte [rax + rbp + 4], cl
mov rcx, qword [rbx + 0x160]
movzx eax, byte [rsp + 0x58]
mov byte [rcx + rbp + 5], al
mov rcx, qword [rsp + 0x58]
mov rax, qword [rbx + 0x160]
add rcx, 6
add rcx, rbp
mov dword [rbx + socket8], 0x16
mov qword [rbx + 0x170], rcx
mov rcx, rbx
mov byte [rax], recv
inc dword [rbx + 8]
call fcn.140058a20
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x14005e423
mov dword [rsp + 0x28], eax
mov r9d, 0x10f9
lea rax, str.mbedtls_ssl_write_handshake_msg
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, edi
jmp 0x14005e4a1
lea rax, str.__write_certificate_verify
mov r9d, 0x10fd
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.140065ef0
jmp 0x14005e49f
lea rax, str.got_no_private_key_for_certificate
mov r9d, 0x1084
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.140065ef0
mov eax, 0xffff8a00
jmp 0x14005e4a1
mov r9d, 0x107d
jmp 0x14005e47c
mov r9d, 0x1076
lea rax, str.__skip_write_certificate_verify
mov edx, 2
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140065ef0
inc dword [rbx + 8]
xor eax, eax
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14006ab10
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
push rdi
push r14
sub rsp, 0x68
xor r14d, r14d
lea rax, [0x140083da8]
mov r9d, 0x3e7
mov dword [rsp + 0x80], r14d
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov rdi, rcx
lea edx, [r14 + 2]
call fcn.140065ef0
mov r9, qword [rdi]
cmp qword [r9 + 0x68], r14
jne 0x14005e573
lea rax, str.no_RNG_provided
mov r9d, 0x3eb
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
lea edx, [r14 + 1]
mov rcx, rdi
call fcn.140065ef0
mov eax, 0xffff8c00
add rsp, 0x68
pop r14
pop rdi
ret
cmp dword [rdi + 0xc], r14d
jne 0x14005e589
movzx eax, byte [r9 + 2]
mov dword [rdi + 0x14], eax
movzx eax, byte [r9 + 3]
mov dword [rdi + 0x18], eax
movzx r10d, byte [r9]
test r10b, r10b
jne 0x14005e5c5
lea rax, str.configured_max_major_version_is_invalid__consider_using_mbedtls_ssl_config_defaults__
mov r9d, 0x3fa
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065ef0
mov eax, 0xffff8f00
add rsp, 0x68
pop r14
pop rdi
ret
mov qword [rsp + 0x98], rbx
mov r8d, 0x47
mov qword [rsp + 0x60], rbp
mov rbp, qword [rdi + 0x160]
mov qword [rsp + 0x58], rsi
mov rcx, rbp
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r13
lea r13, [rbp + 0x4000]
mov qword [rsp + 0x40], r15
mov rdx, r13
mov qword [rsp + 0x90], rbp
call fcn.14005b730
test eax, eax
jne 0x14005f79b
movzx r8d, byte [r9 + 5]
lea rsi, [rbp + 6]
movzx edx, byte [r9 + 1]
mov ecx, r10d
lea r9, [rbp + 4]
call fcn.140059420
movzx eax, byte [rbp + 5]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
movzx ecx, byte [rbp + 4]
mov r9d, 0x41f
mov dword [rsp + 0x30], eax
mov edx, 3
mov dword [rsp + 0x28], ecx
lea rax, str.client_hello__max_version:___d:_d_
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rax, qword [rdi]
mov rbx, qword [rdi + 0x70]
cmp byte [rax + 5], 1
jne 0x14005e67f
cmp qword [rbx + 0x468], r14
jne 0x14005e72d
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rsp + 0x28], rax
mov r9d, 0x391
mov byte [rbx + 0x6ab], al
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov rcx, rax
mov edx, 3
sar rcx, 0x18
mov byte [rbx + 0x6a8], cl
mov rcx, rax
sar rcx, 0x10
mov byte [rbx + 0x6a9], cl
mov rcx, rax
sar rcx, 8
lea rax, str.client_hello__current_time:__lld
mov byte [rbx + 0x6aa], cl
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rax, qword [rdi]
lea rdx, [rbx + 0x6ac]
mov r8d, 0x1c
mov rcx, qword [rax + 0x70]
call qword [rax + 0x68]
mov ebx, eax
test eax, eax
je 0x14005e72d
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.ssl_generate_random
mov r9d, 0x423
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov rax, qword [rdi + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x30], 0x20
mov r9d, 0x428
mov qword [rsp + 0x28], rsi
mov edx, 3
mov rcx, rdi
movups xmm0, xmmword [rax + 0x6a8]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rax + 0x6b8]
lea rax, str.client_hello__random_bytes
mov qword [rsp + 0x20], rax
movups xmmword [rsi + 0x10], xmm1
call fcn.140065670
mov rdx, qword [rdi + 0x68]
mov rbx, qword [rdx + 0x18]
lea rax, [rbx - 0x10]
cmp rax, 0x10
ja 0x14005e79c
cmp dword [rdi + 0xc], r14d
jne 0x14005e79c
mov rax, qword [rdi + 0x70]
cmp byte [rax + 2], r14b
jne 0x14005e7ad
mov rbx, r14
mov qword [rsp + 0x88], r14
cmp dword [rdi + 0xc], r14d
jne 0x14005e7f4
cmp qword [rdx + 0x80], r14
je 0x14005e7f4
cmp qword [rdx + 0x88], r14
je 0x14005e7f4
mov rax, qword [rdi]
add rdx, 0x20
mov r8d, 0x20
mov rcx, qword [rax + 0x70]
call qword [rax + 0x68]
test eax, eax
jne 0x14005f7a0
mov rax, qword [rdi + 0x68]
mov ebx, 0x20
mov rdx, r14
mov qword [rax + 0x18], rbx
mov byte [rsi + 0x20], bl
add rsi, 0x21
jmp 0x14005e810
mov byte [rsi + 0x20], bl
mov rdx, r14
add rsi, 0x21
test rbx, rbx
je 0x14005e826
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rdi + 0x68]
movzx ecx, byte [rax + rdx + 0x20]
inc rdx
mov byte [rsi], cl
inc rsi
cmp rdx, rbx
jb 0x14005e810
lea rax, str.client_hello__session_id_len.:__zu
mov qword [rsp + 0x28], rbx
mov r9d, 0x464
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
lea rax, [rbp + 0x27]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.client_hello__session_id
mov r9d, 0x465
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140065670
mov rax, qword [rdi]
cmp byte [rax + 5], 1
jne 0x14005e977
mov r8d, 1
mov rdx, r13
mov rcx, rsi
call fcn.14005b730
test eax, eax
jne 0x14005f79b
mov rax, qword [rdi + 0x70]
lea rbx, [rsi + 1]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 3
mov rcx, qword [rax + 0x468]
test rcx, rcx
jne 0x14005e8f0
lea rax, str.no_verify_cookie_to_send
mov r9d, 0x47e
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov byte [rsi], r14b
mov rsi, rbx
jmp 0x14005e977
movzx eax, byte [rax + 0x470]
mov r9d, 0x485
mov qword [rsp + 0x30], rax
lea rax, str.client_hello__cookie
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.140065670
mov rax, qword [rdi + 0x70]
movzx ecx, byte [rax + 0x470]
mov byte [rsi], cl
mov rsi, rbx
cmp rbx, r13
ja 0x14005f79b
mov rax, qword [rdi + 0x70]
movzx ecx, byte [rax + 0x470]
mov rax, r13
sub rax, rbx
cmp rcx, rax
ja 0x14005f79b
mov rdx, qword [rdi + 0x70]
mov rcx, rbx
movzx r8d, byte [rdx + 0x470]
mov rdx, qword [rdx + 0x468]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x70]
movzx ecx, byte [rax + 0x470]
add rsi, rcx
movsxd rcx, dword [rdi + 0x18]
mov rbx, rsi
mov rax, qword [rdi]
mov r8d, 2
mov rdx, r13
mov qword [rsp + 0x88], rbx
mov rbp, r14
mov r12, qword [rax + rcx*8 + 0x38]
mov rcx, rsi
call fcn.14005b730
test eax, eax
jne 0x14005f79b
mov eax, dword [r12]
add rsi, r8
mov r15, r14
test eax, eax
je 0x14005eae0
mov r14, r12
nop
mov ecx, eax
call fcn.14005b510
mov rbx, rax
test rax, rax
je 0x14005eac2
mov rax, qword [rdi]
movzx ecx, byte [rax + 1]
cmp dword [rbx + 0x20], ecx
jg 0x14005eac2
movzx ecx, byte [rax + 3]
cmp dword [rbx + 0x28], ecx
jl 0x14005eac2
cmp byte [rax + 5], 1
jne 0x14005ea00
test byte [rbx + 0x2c], 4
jne 0x14005eac2
cmp byte [rax + 8], 1
jne 0x14005ea10
cmp dword [rbx + 0x10], 0x2a
je 0x14005eac2
mov rcx, rbx
call fcn.14005b590
test eax, eax
je 0x14005ea4f
mov rax, qword [rdi]
cmp qword [rax + 0x178], 0
je 0x14005eac2
cmp qword [rax + 0x180], 0
je 0x14005eac2
cmp qword [rax + 0x168], 0
je 0x14005eac2
cmp qword [rax + 0x170], 0
je 0x14005eac2
mov rax, qword [rbx + 8]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x30], rax
mov r9d, 0x4a8
mov eax, dword [r14]
mov edx, 3
mov dword [rsp + 0x28], eax
mov rcx, rdi
lea rax, str.client_hello__add_ciphersuite:__04x___s_
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov rcx, rbx
call fcn.14005b540
or dword [rsp + 0x80], eax
mov r8d, 2
mov rdx, r13
mov rcx, rsi
call fcn.14005b730
test eax, eax
jne 0x14005f79b
mov eax, dword [r14]
inc rbp
sar eax, 8
mov byte [rsi], al
movzx eax, byte [r14]
mov byte [rsi + 1], al
add rsi, r8
inc r15
mov eax, dword [r12 + r15*4]
lea r14, [r12 + r15*4]
test eax, eax
jne 0x14005e9c0
mov rbx, qword [rsp + 0x88]
xor r14d, r14d
lea rax, str.client_hello__got__zu_ciphersuites__excluding_SCSVs_
mov qword [rsp + 0x28], rbp
mov r9d, 0x4b7
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
cmp dword [rdi + 0xc], 0
jne 0x14005eb5b
lea rax, str.adding_EMPTY_RENEGOTIATION_INFO_SCSV
mov r9d, 0x4c0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov r8d, 2
mov rdx, r13
mov rcx, rsi
call fcn.14005b730
test eax, eax
jne 0x14005f79b
mov word [rsi], 0xff00
add rsi, r8
inc rbp
mov rax, qword [rdi]
cmp byte [rax + 0x11], 1
jne 0x14005ebae
lea rax, str.adding_FALLBACK_SCSV
mov r9d, 0x4cb
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov r8d, 2
mov rdx, r13
mov rcx, rsi
call fcn.14005b730
test eax, eax
jne 0x14005f79b
mov word [rsi], 0x56
add rsi, r8
inc rbp
mov rax, rbp
mov dword [rsp + 0x28], 1
shr rax, 7
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov byte [rbx], al
add bpl, bpl
lea rax, str.client_hello__compress_len.:__d
mov byte [rbx + 1], bpl
mov r9d, 0x4f6
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
lea rax, str.client_hello__compress_alg.:__d
mov qword [rsp + 0x28], r14
mov r9d, 0x4f8
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov r8d, 2
mov rdx, r13
mov rcx, rsi
call fcn.14005b730
test eax, eax
jne 0x14005f79b
lea r12, [rsi + 2]
mov word [rsi], 1
mov rcx, r12
mov rdx, r13
call fcn.14005b730
test eax, eax
jne 0x14005f79b
mov rax, qword [rdi + 0x190]
lea rbx, [r12 + 2]
mov rsi, r14
test rax, rax
je 0x14005ed11
mov qword [rsp + 0x28], rax
lea r9d, [r8 + 0x6e]
lea rax, str.client_hello__adding_server_name_extension:__s
mov rcx, rdi
lea edx, [r9 - 0x6d]
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
call fcn.140065ef0
mov rax, qword [rdi + 0x190]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14005eca0
cmp rbx, r13
ja 0x14005f051
mov rax, r13
lea rsi, [r8 + 9]
sub rax, rbx
cmp rsi, rax
ja 0x14005f051
lea rax, [r8 + 5]
mov word [rbx], 0
shr rax, 8
lea rcx, [rbx + 9]
mov byte [rbx + 2], al
lea eax, [r8 + 5]
mov byte [rbx + 3], al
lea rax, [r8 + 3]
shr rax, 8
mov byte [rbx + 4], al
lea eax, [r8 + 3]
mov byte [rbx + 5], al
mov rax, r8
shr rax, 8
mov byte [rbx + 7], al
mov byte [rbx + 6], 0
mov byte [rbx + 8], r8b
mov rdx, qword [rdi + 0x190]
call sub.VCRUNTIME140.dll_memcpy
lea rbx, [rsi + 2]
mov rax, r14
add rbx, r12
cmp dword [rdi + 0xc], 1
jne 0x14005edaf
lea rax, str.client_hello__adding_renegotiation_extension
mov r9d, 0xb8
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
cmp rbx, r13
ja 0x14005f087
mov rax, qword [rdi + 0x1b8]
mov rcx, r13
sub rcx, rbx
add rax, 5
cmp rax, rcx
ja 0x14005f087
mov word [rbx], 0x1ff
lea rdx, [rdi + 0x1c0]
mov byte [rbx + 2], 0
lea rcx, [rbx + 5]
movzx eax, byte [rdi + 0x1b8]
inc al
mov byte [rbx + 3], al
movzx eax, byte [rdi + 0x1b8]
mov byte [rbx + 4], al
mov r8, qword [rdi + 0x1b8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x1b8]
add rax, 5
add rsi, rax
mov rbx, r14
mov rax, qword [rdi]
lea r15, [rsi + 2]
add r15, r12
cmp byte [rax + 1], 3
jne 0x14005eeb7
lea rax, str.client_hello__adding_signature_algorithms_extension
mov r9d, 0xe7
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov rax, qword [rdi]
mov r14, qword [rax + 0x128]
test r14, r14
je 0x14005f768
mov ecx, dword [r14]
mov rax, r14
test ecx, ecx
je 0x14005f768
add rbx, 4
cmp rbx, 0xfffe
ja 0x14005f742
add rax, 4
cmp dword [rax], 0
jne 0x14005ee10
test rbx, rbx
je 0x14005f768
cmp r15, r13
ja 0x14005f73b
mov rdx, r13
lea rax, [rbx + 6]
sub rdx, r15
cmp rax, rdx
ja 0x14005f73b
xor edx, edx
mov ebx, edx
call fcn.140050450
mov byte [r15 + rbx + 6], al
mov byte [r15 + rbx + 7], 3
mov ecx, dword [r14]
call fcn.140050450
mov byte [r15 + rbx + 8], al
lea r14, [r14 + 4]
mov byte [r15 + rbx + 9], 1
add rbx, 4
mov ecx, dword [r14]
test ecx, ecx
jne 0x14005ee53
add rsi, 6
mov word [r15], 0xd00
lea rax, [rbx + 2]
mov byte [r15 + 5], bl
shr rax, 8
add rsi, rbx
mov byte [r15 + 2], al
lea eax, [rbx + 2]
mov byte [r15 + 3], al
mov rax, rbx
shr rax, 8
mov byte [r15 + 4], al
xor r14d, r14d
cmp dword [rsp + 0x80], 0
je 0x14005f0cd
lea rax, str.client_hello__adding_supported_elliptic_curves_extension
mov r9d, 0x145
lea r15, [r12 + 2]
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 3
mov rcx, rdi
add r15, rsi
mov rbx, r14
call fcn.140065ef0
mov rax, qword [rdi]
mov r14, qword [rax + 0x130]
test r14, r14
je 0x14005f197
mov eax, dword [r14]
test eax, eax
je 0x14005f197
mov ecx, eax
call fcn.140034940
test rax, rax
je 0x14005f171
add rbx, 2
cmp rbx, 0xffff
ja 0x14005f15d
mov eax, dword [r14 + 4]
add r14, 4
test eax, eax
jne 0x14005ef14
test rbx, rbx
je 0x14005f197
cmp r15, r13
ja 0x14005f156
mov rcx, r13
lea rax, [rbx + 6]
sub rcx, r15
cmp rax, rcx
ja 0x14005f156
mov rax, qword [rdi]
xor edx, edx
mov ebx, edx
mov r14, qword [rax + 0x130]
mov eax, dword [r14]
test eax, eax
je 0x14005efa8
nop dword [rax + rax]
mov ecx, eax
call fcn.140034940
lea r14, [r14 + 4]
movzx ecx, byte [rax + 5]
mov byte [rbx + r15 + 6], cl
movzx eax, byte [rax + 4]
mov byte [rbx + r15 + 7], al
add rbx, 2
mov eax, dword [r14]
test eax, eax
jne 0x14005ef80
lea rax, [rbx + 2]
mov byte [r15 + 5], bl
shr rax, 8
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov byte [r15 + 2], al
mov r9d, 0x18a
lea eax, [rbx + 2]
mov word [r15], 0xa00
mov byte [r15 + 3], al
mov edx, 3
mov rax, rbx
mov rcx, rdi
shr rax, 8
add rbx, 6
mov byte [r15 + 4], al
add rsi, rbx
lea rax, str.client_hello__adding_supported_point_formats_extension
mov qword [rsp + 0x20], rax
lea rbx, [r12 + rsi]
call fcn.140065ef0
mov r8d, 6
lea rcx, [rbx + 2]
mov rdx, r13
call fcn.14005b730
test eax, eax
je 0x14005f0bd
lea rax, str.ssl_write_supported_point_formats_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x533
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
lea rax, str.ssl_write_hostname_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x507
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
lea rax, str.ssl_write_renegotiation_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x513
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov dword [rbx + 2], 0x2000b00
add rsi, r8
mov word [rbx + 6], 1
mov rax, qword [rdi]
lea rbx, [r12 + rsi]
xor r14d, r14d
mov r8d, r14d
cmp byte [rax + 9], r14b
je 0x14005f1de
lea rax, str.client_hello__adding_max_fragment_length_extension
mov r9d, 0x225
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
lea edx, [r14 + 3]
mov rcx, rdi
call fcn.140065ef0
lea r8d, [r14 + 5]
mov rdx, r13
lea rcx, [rbx + 2]
call fcn.14005b730
test eax, eax
je 0x14005f1cd
lea rax, str.ssl_write_max_fragment_length_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x551
mov qword [rsp + 0x20], rax
lea edx, [r14 + 1]
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov ebx, 0xffff9600
jmp 0x14005f19c
lea rax, str.malformed_supported_elliptic_curves_extension_in_config
mov r9d, 0x15a
mov edx, 3
jmp 0x14005f183
lea rax, str.invalid_curve_in_ssl_configuration
mov r9d, 0x152
mov edx, 1
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140065ef0
mov ebx, 0xffffa180
lea rax, str.ssl_write_supported_elliptic_curves_ext
mov dword [rsp + 0x28], ebx
mov r9d, 0x52b
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov dword [rbx + 2], 0x1000100
mov rax, qword [rdi]
movzx ecx, byte [rax + 9]
mov byte [rbx + 6], cl
mov rax, qword [rdi]
add rsi, r8
mov rcx, r14
lea rbx, [r12 + rsi]
cmp byte [rax + 0xf], r14b
je 0x14005f26d
lea rax, str.client_hello__adding_truncated_hmac_extension
mov r9d, 0x246
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov r8d, 4
lea rcx, [rbx + 2]
mov rdx, r13
call fcn.14005b730
test eax, eax
je 0x14005f263
lea rax, str.ssl_write_truncated_hmac_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x55b
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov dword [rbx + 2], 0x400
mov rcx, r8
mov rax, qword [rdi]
add rsi, rcx
mov rcx, r14
lea rbx, [r12 + rsi]
cmp byte [rax + 0xa], r14b
je 0x14005f305
cmp byte [rax + 1], cl
je 0x14005f305
lea rax, str.client_hello__adding_encrypt_then_mac_extension
mov r9d, 0x266
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov r8d, 4
lea rcx, [rbx + 2]
mov rdx, r13
call fcn.14005b730
test eax, eax
je 0x14005f2fb
lea rax, str.ssl_write_encrypt_then_mac_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x565
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov dword [rbx + 2], 0x1600
mov rcx, r8
mov rax, qword [rdi]
add rsi, rcx
mov rcx, r14
lea rbx, [r12 + rsi]
cmp byte [rax + 0xb], r14b
je 0x14005f39d
cmp byte [rax + 1], cl
je 0x14005f39d
lea rax, str.client_hello__adding_extended_master_secret_extension
mov r9d, 0x286
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov r8d, 4
lea rcx, [rbx + 2]
mov rdx, r13
call fcn.14005b730
test eax, eax
je 0x14005f393
lea rax, str.ssl_write_extended_ms_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x56f
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov dword [rbx + 2], 0x1700
mov rcx, r8
mov rax, qword [rdi]
add rsi, rcx
mov rbp, r14
mov rbx, r14
lea r15, [rsi + 2]
add r15, r12
cmp qword [rax + 0x188], r14
je 0x14005f4c0
lea rax, str.client_hello__adding_alpn_extension
mov r9d, 0x2d1
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov rax, qword [rdi]
mov rdx, qword [rax + 0x188]
mov rcx, qword [rdx]
test rcx, rcx
je 0x14005f422
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], bl
jne 0x14005f407
mov rcx, qword [rdx + 8]
add rdx, 8
inc rbp
add rbp, rax
test rcx, rcx
jne 0x14005f400
cmp r15, r13
ja 0x14005f59b
mov rcx, r13
lea rax, [rbp + 6]
sub rcx, r15
cmp rax, rcx
ja 0x14005f59b
mov word [r15], 0x1000
lea rbx, [r15 + 6]
mov rax, qword [rdi]
mov r14, qword [rax + 0x188]
mov rcx, qword [r14]
test rcx, rcx
je 0x14005f497
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14005f467
mov byte [rbx], al
lea rcx, [rbx + 1]
mov rdx, qword [r14]
movzx r8d, al
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rbx]
add r14, 8
inc rbx
add rbx, rax
mov rcx, qword [r14]
test rcx, rcx
jne 0x14005f460
sub rbx, r15
lea rax, [rbx - 6]
shr rax, 8
mov byte [r15 + 4], al
lea eax, [rbx - 6]
mov byte [r15 + 5], al
lea rax, [rbx - 4]
shr rax, 8
mov byte [r15 + 2], al
lea eax, [rbx - 4]
mov byte [r15 + 3], al
mov rax, qword [rdi + 0x68]
add rsi, rbx
mov rbp, qword [rax + 0x88]
lea rbx, [rsi + 2]
mov rax, qword [rdi]
add rbx, r12
cmp byte [rax + 0x10], 0
je 0x14005f607
lea rax, str.client_hello__adding_session_ticket_extension
mov r9d, 0x2a6
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
cmp rbx, r13
ja 0x14005f5d1
lea r14, [rbp + 4]
sub r13, rbx
cmp r14, r13
ja 0x14005f5d1
mov word [rbx], 0x2300
mov rax, rbp
shr rax, 8
mov edx, 4
mov byte [rbx + 2], al
mov byte [rbx + 3], bpl
mov rax, qword [rdi + 0x68]
cmp qword [rax + 0x80], 0
je 0x14005f609
test rbp, rbp
je 0x14005f609
lea rax, str.sending_session_ticket_of_length__zu
mov qword [rsp + 0x28], rbp
mov r9d, 0x2b7
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov rdx, qword [rdi + 0x68]
lea rcx, [rbx + 4]
mov r8, rbp
mov rdx, qword [rdx + 0x80]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, r14
jmp 0x14005f609
lea rax, str.ssl_write_alpn_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x579
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
lea rax, str.ssl_write_session_ticket_ext
mov ebx, 0xffff9600
mov dword [rsp + 0x28], ebx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x58d
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
xor edx, edx
add rsi, rdx
lea rax, str.client_hello__total_extension_length:__zu
mov qword [rsp + 0x28], rsi
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0x597
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
test rsi, rsi
je 0x14005f653
mov byte [r12 + 1], sil
mov rax, rsi
shr rax, 8
mov byte [r12], al
add r12, 2
add r12, rsi
mov rax, qword [rdi + 0x160]
sub r12, qword [rsp + 0x90]
mov qword [rdi + 0x170], r12
mov dword [rdi + socket8], 0x16
mov byte [rax], 1
mov rax, qword [rdi]
inc dword [rdi + 8]
cmp byte [rax + 5], 1
jne 0x14005f68a
mov rcx, rdi
call fcn.140058470
mov rcx, rdi
call fcn.140058a20
mov ebx, eax
test eax, eax
je 0x14005f6c9
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ssl_write_handshake_msg
mov r9d, 0x5ae
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov rax, qword [rdi]
cmp byte [rax + 5], 1
jne 0x14005f711
mov rcx, rdi
call fcn.1400567f0
mov ebx, eax
test eax, eax
je 0x14005f711
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ssl_flight_transmit
mov r9d, 0x5b6
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
lea rax, str.__write_client_hello
mov r9d, 0x5bb
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.140065ef0
xor eax, eax
jmp 0x14005f7a0
mov ebx, 0xffff9600
jmp 0x14005f76d
lea rax, str.length_in_bytes_of_sig_hash_alg_extension_too_big
mov r9d, 0xf7
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.140065ef0
mov ebx, 0xffffa180
lea rax, str.ssl_write_signature_algorithms_ext
mov dword [rsp + 0x28], ebx
mov r9d, 0x51e
mov qword [rsp + 0x20], rax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov edx, 1
mov rcx, rdi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005f7a0
mov eax, 0xffff9600
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x98]
mov r15, qword [rsp + 0x40]
add rsp, 0x68
pop r14
pop rdi
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rax, qword [rcx + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov r9d, 0xe96
mov edx, 2
mov rsi, rcx
mov rbp, qword [rax + 0x18]
lea rax, [0x140084e40]
mov qword [rsp + 0x20], rax
call fcn.140065ef0
mov ecx, dword [rbp + 0x18]
cmp ecx, 2
jne 0x14005f9bf
mov rax, qword [rsi + 0x70]
mov r14d, 6
mov rcx, qword [rax + 0x40]
mov rax, qword [rsi + 0x160]
mov qword [rsp + 0x50], rcx
shr rcx, 8
mov byte [rax + 4], cl
mov rcx, qword [rsi + 0x160]
movzx eax, byte [rsp + 0x50]
mov byte [rcx + 5], al
mov rcx, qword [rsi + 0x70]
mov rbx, qword [rsi]
add rcx, 0x48
mov rdi, qword [rsi + 0x160]
call fcn.14002dbb0
mov rcx, qword [rsi + 0x70]
lea r8, [rdi + 6]
mov r9, qword [rsp + 0x50]
mov rdx, rax
mov rax, qword [rbx + 0x70]
add rcx, 0x40
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x20], rax
call fcn.14006c2a0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov ebx, eax
test eax, eax
je 0x14005f8c4
lea rcx, str.mbedtls_dhm_make_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea edx, [r14 - 5]
mov rcx, rsi
mov r9d, 0xea9
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
mov rax, qword [rsi + 0x70]
mov r9d, 0xead
add rax, 0x78
mov edx, 3
mov qword [rsp + 0x28], rax
mov rcx, rsi
lea rax, str.DHM:_X
mov qword [rsp + 0x20], rax
call fcn.140065cf0
mov rax, qword [rsi + 0x70]
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
add rax, 0x90
mov r9d, 0xeae
mov qword [rsp + 0x28], rax
mov edx, 3
lea rax, str.DHM:_GX
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140065cf0
mov r8, qword [rsi]
mov rcx, qword [rsi + 0x70]
mov rax, qword [r8 + 0x70]
mov qword [rsp + 0x28], rax
lea r9, [rcx + 0x10]
mov rax, qword [r8 + 0x68]
lea rdx, [rcx + 0x6e8]
mov r8d, 0x424
mov qword [rsp + 0x20], rax
add rcx, 0x40
call fcn.14006bf50
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov ebx, eax
mov rcx, rsi
test eax, eax
je 0x14005f98f
mov dword [rsp + 0x28], eax
mov r9d, 0xeb6
lea rax, str.mbedtls_dhm_calc_secret
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
mov rax, qword [rsi + 0x70]
mov r9d, 0xeba
add rax, 0xc0
mov edx, 3
mov qword [rsp + 0x28], rax
lea rax, str.DHM:_K
mov qword [rsp + 0x20], rax
call fcn.140065cf0
jmp 0x14005fe8d
lea eax, [rcx - 3]
cmp eax, 1
jbe 0x14005fd59
lea eax, [rcx - 9]
cmp eax, 1
jbe 0x14005fd59
mov rcx, rbp
call fcn.14005b590
test eax, eax
je 0x14005fd00
mov rax, qword [rsi]
cmp qword [rax + 0x178], 0
je 0x14005fcf6
cmp qword [rax + 0x180], 0
je 0x14005fcf6
cmp qword [rax + 0x168], 0
je 0x14005fcf6
cmp qword [rax + 0x170], 0
je 0x14005fcf6
mov rcx, qword [rax + 0x180]
mov ebx, 0x4000
mov qword [rsp + 0x50], rcx
lea rax, [rcx + 6]
cmp rax, rbx
jbe 0x14005fa6c
lea rax, str.psk_identity_too_long_or_SSL_buffer_too_short
mov r9d, 0xf79
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rsi
call fcn.140065ef0
mov eax, 0xffff9600
jmp 0x14005ff0d
mov rax, qword [rsi + 0x160]
shr rcx, 8
mov byte [rax + 4], cl
mov rcx, qword [rsi + 0x160]
movzx eax, byte [rsp + 0x50]
mov byte [rcx + 5], al
mov rdx, qword [rsi]
mov rcx, qword [rsi + 0x160]
add rcx, 6
mov r8, qword [rdx + 0x180]
mov rdx, qword [rdx + 0x178]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsi]
mov eax, dword [rbp + 0x18]
mov r14, qword [rdx + 0x180]
add r14, 6
cmp eax, 5
jne 0x14005face
mov qword [rsp + 0x50], 0
jmp 0x14005fc8a
cmp eax, 7
jne 0x14005faf4
lea r9d, [rax - 5]
mov rdx, r14
lea r8, [rsp + 0x50]
mov rcx, rsi
call fcn.14005ff20
test eax, eax
je 0x14005fc8a
jmp 0x14005ff0d
cmp eax, 6
jne 0x14005fbe9
mov rax, qword [rsi + 0x70]
mov rcx, qword [rax + 0x40]
mov qword [rsp + 0x50], rcx
lea rax, [rcx + 2]
add rax, r14
cmp rax, rbx
jbe 0x14005fb46
lea rax, str.psk_identity_or_DHM_size_too_long_or_SSL_buffer_too_short
mov r9d, 0xfb3
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rsi
call fcn.140065ef0
mov eax, 0xffff9600
jmp 0x14005ff0d
mov rax, qword [rsi + 0x160]
shr rcx, 8
mov byte [r14 + rax], cl
mov rcx, qword [rsi + 0x160]
movzx eax, byte [rsp + 0x50]
mov byte [r14 + rcx + 1], al
add r14, 2
mov rcx, qword [rsi + 0x70]
mov rdi, qword [rsi + 0x160]
add rcx, 0x48
mov rbx, qword [rsi]
add rdi, r14
call fcn.14002dbb0
mov rcx, qword [rsi + 0x70]
mov rdx, rax
mov rax, qword [rbx + 0x70]
add rcx, 0x40
mov r9, qword [rsp + 0x50]
mov r8, rdi
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x20], rax
call fcn.14006c2a0
mov ebx, eax
test eax, eax
je 0x14005fc8a
lea rcx, str.mbedtls_dhm_make_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov rcx, rsi
mov r9d, 0xfc0
mov edx, 1
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
cmp eax, 8
jne 0x14005fcd0
mov rax, qword [rdx + 0x70]
sub rbx, r14
mov r8, qword [rsi + 0x160]
mov r9, rbx
mov rcx, qword [rsi + 0x70]
add r8, r14
mov qword [rsp + 0x28], rax
add rcx, 0x138
mov rax, qword [rdx + 0x68]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.14006c8f0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov ebx, eax
test eax, eax
je 0x14005fc60
lea rcx, str.mbedtls_ecdh_make_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 0xfdc
mov rcx, rsi
mov edx, 1
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
mov rax, qword [rsi + 0x70]
mov r9d, 0xfe1
add rax, 0x138
mov dword [rsp + 0x28], 0
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.140066070
mov edx, dword [rbp + 0x18]
mov rcx, rsi
call fcn.140050aa0
mov ebx, eax
test eax, eax
je 0x14005fe8d
mov dword [rsp + 0x28], eax
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
lea rax, str.mbedtls_ssl_psk_derive_premaster
mov r9d, 0xffa
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
lea rax, str.should_never_happen
mov r9d, 0xfe6
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rsi
call fcn.140065ef0
mov eax, 0xffff9400
jmp 0x14005ff0d
cmp dword [rbp + 0x18], 1
mov rcx, rsi
jne 0x14005fd2c
mov r14d, 4
lea r8, [rsp + 0x50]
mov edx, r14d
xor r9d, r9d
call fcn.14005ff20
test eax, eax
je 0x14005fe8d
jmp 0x14005ff0d
lea rax, str.should_never_happen
mov r9d, 0x1027
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov qword [rsp + 0x20], rax
mov edx, 1
call fcn.140065ef0
mov eax, 0xffff9400
jmp 0x14005ff0d
mov rdx, qword [rsi]
mov r14d, 4
mov r8, qword [rsi + 0x160]
mov r9d, 0x3e8
mov rcx, qword [rsi + 0x70]
add r8, r14
add rcx, 0x138
mov rax, qword [rdx + 0x70]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + 0x68]
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.14006c8f0
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov ebx, eax
test eax, eax
je 0x14005fdcf
lea rcx, str.mbedtls_ecdh_make_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea edx, [r14 - 3]
mov rcx, rsi
mov r9d, 0xf39
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
mov rax, qword [rsi + 0x70]
mov r9d, 0xf42
add rax, 0x138
mov dword [rsp + 0x28], 0
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.140066070
mov r9, qword [rsi]
mov rcx, qword [rsi + 0x70]
mov rax, qword [r9 + 0x70]
mov qword [rsp + 0x28], rax
lea r8, [rcx + 0x6e8]
mov rax, qword [r9 + 0x68]
lea rdx, [rcx + 0x10]
mov r9d, 0x400
mov qword [rsp + 0x20], rax
add rcx, 0x138
call fcn.14006c480
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov ebx, eax
mov rcx, rsi
test eax, eax
je 0x14005fe66
mov dword [rsp + 0x28], eax
mov r9d, 0xf55
lea rax, str.mbedtls_ecdh_calc_secret
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
mov rax, qword [rsi + 0x70]
mov r9d, 0xf5e
add rax, 0x138
mov dword [rsp + 0x28], 2
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.140066070
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsi + 0x160]
add rcx, r14
mov qword [rsi + 0x170], rcx
mov rcx, rsi
mov dword [rsi + socket8], 0x16
mov byte [rax], reloc.WS2_32.dll_recv
inc dword [rsi + 8]
call fcn.140058a20
lea r8, str.C:_vcpkg_vcpkg_buildtreesmbedtls_src_v2.28.1_6e0e5fbb91.cleanlibrary_ssl_cli.c
mov ebx, eax
mov rcx, rsi
test eax, eax
je 0x14005feef
mov dword [rsp + 0x28], eax
mov r9d, 0x1033
lea rax, str.mbedtls_ssl_write_handshake_msg
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.140065fb0
mov eax, ebx
jmp 0x14005ff0d
lea rax, str.__write_client_key_exchange
mov r9d, 0x1037
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.140065ef0
xor eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret