Function at 0x1801d11e0
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
sub rsp, 0x30
mov eax, dword [rcx + 8]
mov rbx, rcx
cmp eax, 0x10
je 0x1801d0765
cmp qword [rcx + 0x70], 0
je 0x1801d0765
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.server_state:__d
mov qword [rsp + 0x58], rdi
mov r9d, 0x119f
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.1801d6060
mov rcx, rbx
call fcn.1801c6cd0
mov edi, eax
test eax, eax
jne 0x1801d02ef
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x1801d028f
mov rax, qword [rbx + 0x70]
cmp byte [rax + 7], 1
jne 0x1801d028f
mov rcx, rbx
call fcn.1801c6880
mov edi, eax
test eax, eax
jne 0x1801d02ef
movsxd rdx, dword [rbx + 8]
mov qword [rsp + 0x50], rsi
cmp edx, 0x12
ja case.0x1801d02b3.16
lea r8, [0x180000000]
mov ecx, dword [r8 + rdx*4 + 0x1d0770]
add rcx, r8
jmp rcx
mov rsi, qword [rsp + 0x50]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov dword [rbx + 8], 1
add rsp, 0x30
pop rbx
ret
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801d11e0
mov rsi, qword [rsp + 0x50]
mov eax, 0xffff9580
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
ret
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801d4aa0
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801c1710
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801d5470
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801d44e0
lea rax, [0x18023bd08]
mov r9d, 0xe48
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rbx + 0x160]
mov qword [rbx + 0x170], 4
mov dword [rbx + socket8], 0x16
mov byte [rax], recv
mov rax, qword [rbx]
inc dword [rbx + 8]
cmp byte [rax + 5], 1
jne 0x1801d03af
mov rcx, rbx
call fcn.1801c8500
mov rcx, rbx
call fcn.1801c8ab0
mov edi, eax
test eax, eax
je 0x1801d03f9
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_ssl_write_handshake_msg
mov r9d, 0xe57
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6130
mov rsi, qword [rsp + 0x50]
mov eax, edi
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
ret
mov rax, qword [rbx]
cmp byte [rax + 5], 1
jne 0x1801d044c
mov rcx, rbx
call fcn.1801c6880
mov edi, eax
test eax, eax
je 0x1801d044c
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_ssl_flight_transmit
mov r9d, 0xe5e
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6130
mov rsi, qword [rsp + 0x50]
mov eax, edi
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
ret
lea rax, str.__write_server_hello_done
mov r9d, 0xe63
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1801d6060
mov rsi, qword [rsp + 0x50]
xor edi, edi
mov eax, edi
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
ret
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801c0550
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801d2920
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801d0bd0
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801c7230
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801c0830
mov rax, qword [rbx + 0x70]
mov rcx, rbx
cmp byte [rax + 5], 0
je 0x1801d06a2
lea rax, [0x18023bfc8]
mov r9d, 0x1166
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.1801d6060
mov rax, qword [rbx + 0x160]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x48]
mov dword [rbx + socket8], 0x16
mov qword [rsp + 0x20], rcx
mov byte [rax], 4
mov r8, qword [rbx + 0x160]
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x68]
lea r9, [r8 + 0x4000]
add r8, 0xa
mov rcx, qword [rax + 0xe8]
call qword [rax + 0xd8]
xor edi, edi
test eax, eax
je 0x1801d05ae
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_ssl_ticket_write
mov r9d, 0x117b
lea edx, [rdi + 1]
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6130
mov qword [rsp + 0x48], rdi
mov ecx, dword [rsp + 0x40]
mov rax, qword [rbx + 0x160]
shr ecx, 0x18
mov byte [rax + 4], cl
mov ecx, dword [rsp + 0x40]
mov rax, qword [rbx + 0x160]
shr ecx, 0x10
mov byte [rax + 5], cl
mov rax, qword [rbx + 0x160]
mov ecx, dword [rsp + 0x40]
shr ecx, 8
mov byte [rax + 6], cl
mov rcx, qword [rbx + 0x160]
movzx eax, byte [rsp + 0x40]
mov byte [rcx + 7], al
mov rax, qword [rbx + 0x160]
mov rcx, qword [rsp + 0x48]
shr rcx, 8
mov byte [rax + 8], cl
mov rcx, qword [rbx + 0x160]
movzx eax, byte [rsp + 0x48]
mov byte [rcx + 9], al
mov rcx, rbx
mov rax, qword [rsp + 0x48]
add rax, 0xa
mov qword [rbx + 0x170], rax
mov rax, qword [rbx + 0x70]
mov byte [rax + 5], dil
call fcn.1801c8ab0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov esi, eax
mov rcx, rbx
test eax, eax
je 0x1801d0674
mov dword [rsp + 0x28], eax
mov r9d, 0x118a
lea rax, str.mbedtls_ssl_write_handshake_msg
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov rdi, qword [rsp + 0x58]
mov eax, esi
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rbx
ret
lea rax, str.__write_new_session_ticket
mov r9d, 0x118e
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov rsi, qword [rsp + 0x50]
mov eax, edi
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
ret
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801c89f0
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
jmp 0x1801c1a80
lea rax, str.handshake:_done
mov r9d, 0x1208
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1801d6060
mov rsi, qword [rsp + 0x50]
mov eax, edi
mov rdi, qword [rsp + 0x58]
mov dword [rbx + 8], reloc.WS2_32.dll_ntohs
add rsp, 0x30
pop rbx
ret
mov rcx, rbx
call fcn.1801c0170
mov rsi, qword [rsp + 0x50]
mov eax, edi
mov rdi, qword [rsp + 0x58]
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, 0x1211
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
call fcn.1801d6060
mov rsi, qword [rsp + 0x50]
mov eax, 0xffff8f00
mov rdi, qword [rsp + 0x58]
add rsp, 0x30
pop rbx
ret
mov eax, 0xffff8f00
add rsp, 0x30
pop rbx
ret
push rbx
push rdi
sub rsp, 0x88
mov rax, qword [0x1802b7c00]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x70]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov r9d, 0x10be
mov edx, 2
mov rdi, rcx
mov rbx, qword [rax + 0x18]
lea rax, [0x18023bee0]
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov eax, dword [rbx + 0x18]
dec eax
cmp eax, 9
ja case.0x1801d0c38.5
lea rdx, [0x180000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x1d1070]
add rcx, rdx
jmp rcx
mov rax, qword [rdi + 0x68]
mov rcx, rdi
cmp qword [rax + 0x70], 0
jne 0x1801d0c75
lea rax, str.__skip_parse_certificate_verify
mov r9d, 0x10c8
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.1801d6060
inc dword [rdi + 8]
xor eax, eax
jmp 0x1801d0f29
xor edx, edx
call fcn.1801c7d40
mov ebx, eax
test eax, eax
je 0x1801d0cb3
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0x10d7
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1801d6130
mov eax, ebx
jmp 0x1801d0f29
inc dword [rdi + 8]
cmp dword [rdi + 0xe8], 0x16
jne 0x1801d100e
mov rcx, qword [rdi + 0xd8]
cmp byte [rcx], 0xf
jne 0x1801d100e
mov rax, qword [rdi]
mov ebx, listen
mov r8d, 4
cmp byte [rax + 5], 1
mov rax, qword [rdi + 0x68]
cmovne ebx, r8d
mov rdx, qword [rax + 0x70]
test rdx, rdx
jne 0x1801d0d00
mov eax, 0xffff9400
jmp 0x1801d0f29
cmp dword [rdi + 0x18], 3
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], r12
lea r12, [rdx + 0x168]
mov qword [rsp + 0x80], r13
je 0x1801d0d67
mov edx, r8d
mov rcx, r12
call fcn.18018de90
test eax, eax
lea rcx, [rsp + 0x48]
lea rsi, [rsp + 0x38]
mov r13d, reloc.WS2_32.dll_sendto
cmovne rsi, rcx
mov ecx, eax
neg ecx
mov ecx, 0x24
sbb ebp, ebp
and ebp, 4
test eax, eax
cmove r13d, ecx
jmp 0x1801d0e6c
lea rax, [rbx + 2]
cmp rax, qword [rdi + 0x120]
jbe 0x1801d0da4
lea rax, str.bad_certificate_verify_message
mov r9d, 0x1108
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1801d6060
mov eax, 0xffff8280
jmp 0x1801d0f09
movzx ecx, byte [rbx + rcx]
call fcn.1801c04c0
mov ebp, eax
test eax, eax
je 0x1801d0fde
mov rcx, qword [rdi + 0xd8]
movzx edx, byte [rbx + rcx]
mov rcx, rdi
call fcn.1801c12b0
test eax, eax
jne 0x1801d0fde
mov rcx, qword [rdi + 0xd8]
xor r13d, r13d
movzx ecx, byte [rbx + rcx + 1]
call fcn.1801c0a90
test eax, eax
jne 0x1801d0e19
lea rax, str.peer_not_adhering_to_requested_sig_alg_for_verify_message
mov r9d, 0x1128
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
lea edx, [r13 + 1]
mov rcx, rdi
call fcn.1801d6060
mov eax, 0xffff8280
jmp 0x1801d0f09
mov edx, eax
mov rcx, r12
call fcn.18018de90
test eax, eax
jne 0x1801d0e57
lea rax, str.sig_alg_doesnt_match_cert_key
mov r9d, 0x1130
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1801d6060
mov eax, 0xffff8280
jmp 0x1801d0f09
add rbx, 2
lea rsi, [rsp + 0x38]
cmp ebp, 4
lea rax, [rsp + 0x48]
cmove rsi, rax
mov rdx, qword [rdi + 0x120]
mov qword [rsp + 0x78], r14
lea r14, [rbx + 2]
cmp r14, rdx
jbe 0x1801d0eae
lea rax, str.bad_certificate_verify_message
mov r9d, 0x113d
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1801d6060
mov eax, 0xffff8280
jmp 0x1801d0f04
mov rax, qword [rdi + 0xd8]
mov qword [rsp + 0x70], r15
movzx ecx, byte [rbx + rax]
movzx r15d, byte [rbx + rax + 1]
shl rcx, 8
or r15, rcx
mov rcx, rdi
lea rax, [r15 + r14]
cmp rax, rdx
je 0x1801d0f40
lea rax, str.bad_certificate_verify_message
mov r9d, 0x1145
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
call fcn.1801d6060
mov eax, 0xffff8280
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1801fc6e0
add rsp, 0x88
pop rdi
pop rbx
ret
mov rax, qword [rdi + 0x70]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x38]
call qword [rax + 0x28]
mov rdx, qword [rdi + 0xd8]
mov r9, r13
add rdx, r14
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdx
mov r8, rsi
mov edx, ebp
mov rcx, r12
call fcn.18018e170
mov ebx, eax
mov rcx, rdi
test eax, eax
je 0x1801d0fac
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_pk_verify
mov r9d, 0x1152
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, ebx
jmp 0x1801d0eff
call fcn.1801c8690
lea rax, str.__parse_certificate_verify
mov r9d, 0x1158
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.1801d6060
xor eax, eax
jmp 0x1801d0eff
lea rax, str.peer_not_adhering_to_requested_sig_alg_for_verify_message
mov r9d, 0x1113
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1801d6060
mov eax, 0xffff8280
jmp 0x1801d0f09
lea rax, str.bad_certificate_verify_message
mov r9d, 0x10e0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1801d6060
mov eax, 0xffff8280
jmp 0x1801d0f29
lea rax, str.__skip_parse_certificate_verify
mov r9d, 0x10c1
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.1801d6060
inc dword [rdi + 8]
xor eax, eax
jmp 0x1801d0f29
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
xor esi, esi
lea rax, [0x18023b1d0]
lea r15, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov dword [rsp + 0xf8], esi
mov r9d, 0x575
mov dword [rsp + 0xf0], esi
mov r8, r15
mov qword [rsp + 0x20], rax
lea edx, [rsi + 2]
mov rbx, rcx
call fcn.1801d6060
mov ebp, esi
lea r12d, [rsi + 1]
lea r13d, [rsi + 5]
lea r14d, [rsi + 0xd]
lea rdi, str.client_hello_v3__message_len.:__d
cmp dword [rbx + 0xc], 0
je 0x1801d124b
mov ebp, r12d
jmp 0x1801d126b
test ebp, ebp
jne 0x1801d126b
mov rdx, r13
mov rcx, rbx
call fcn.1801c61a0
mov edi, eax
test eax, eax
jne 0x1801d13f7
lea rdi, str.client_hello_v3__message_len.:__d
mov rax, qword [rbx]
mov rcx, r13
mov rsi, qword [rbx + 0xc0]
mov r9d, 0x59d
mov r8, r15
mov edx, 4
cmp byte [rax + 5], r12b
lea rax, str.record_header
cmove rcx, r14
mov qword [rsp + 0x30], rcx
mov rcx, rbx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
movzx eax, byte [rsi]
mov r9d, 0x5a9
mov dword [rsp + 0x28], eax
mov r8, r15
lea rax, str.client_hello_v3__message_type:__d
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d6060
cmp byte [rsi], 0x16
mov r8, r15
jne 0x1801d288b
mov rax, qword [rbx + 0xc8]
mov r9d, 0x5b1
mov edx, 3
movzx ecx, byte [rax]
movzx eax, byte [rax + 1]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.1801d6060
movzx eax, byte [rsi + 2]
mov r9d, 0x5b4
movzx ecx, byte [rsi + 1]
mov r8, r15
mov dword [rsp + 0x30], eax
mov edx, 3
mov dword [rsp + 0x28], ecx
lea rax, str.client_hello_v3__protocol_version:___d:_d_
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov rax, qword [rbx]
lea r9, [rsi + 1]
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x100]
movzx r8d, byte [rax + 5]
call fcn.1801c80a0
cmp dword [rsp + 0x100], 3
jl 0x1801d2880
mov rax, qword [rbx]
cmp byte [rax + 5], r12b
jne 0x1801d1427
cmp dword [rbx + 0xc], 0
jne 0x1801d1427
mov rcx, qword [rbx + 0xb8]
cmp byte [rcx], 0
jne 0x1801d144b
cmp byte [rcx + 1], 0
jne 0x1801d144b
mov eax, dword [rcx + 2]
mov dword [rbx + 0x182], eax
movzx eax, word [rcx + 6]
mov rcx, rbx
mov word [rbx + 0x186], ax
call fcn.1801c5440
mov rcx, rbx
test eax, eax
je 0x1801d1422
lea rax, str.replayed_record__discarding
mov r9d, 0x5d3
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, r12d
call fcn.1801d6060
xor eax, eax
mov qword [rbx + 0x108], rax
mov qword [rbx + 0xf8], rax
jmp 0x1801d1239
mov r9d, 0x588
lea rax, str.mbedtls_ssl_fetch_input
mov dword [rsp + 0x28], edi
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, r12d
mov rcx, rbx
call fcn.1801d6130
mov eax, edi
jmp 0x1801d28ad
call fcn.1801c54f0
mov rax, qword [rbx + 0xc8]
movzx esi, byte [rax]
movzx eax, byte [rax + 1]
shl rsi, 8
or rsi, rax
cmp dword [rbx + 0xc], 0
je 0x1801d1459
mov rsi, qword [rbx + 0x120]
jmp 0x1801d14b9
mov r9d, 0x5cb
mov r8, r15
jmp 0x1801d2891
mov rcx, rbx
cmp rsi, 0x4000
jbe 0x1801d1473
mov r9d, 0x5e9
mov r8, r15
jmp 0x1801d2894
mov rax, qword [rbx]
cmp byte [rax + 5], r12b
cmovne r14, r13
lea rdx, [rsi + r14]
call fcn.1801c61a0
mov edi, eax
test eax, eax
je 0x1801d1498
mov r9d, 0x5ef
jmp 0x1801d13fd
mov rax, qword [rbx]
cmp byte [rax + 5], r12b
jne 0x1801d14ae
lea rax, [rsi + 0xd]
mov qword [rbx + 0x108], rax
jmp 0x1801d14b9
mov qword [rbx + 0xf8], 0
mov r13, qword [rbx + 0xd8]
lea rax, str.record_contents
mov qword [rsp + 0x30], rsi
mov ebp, 4
mov qword [rsp + 0x28], r13
mov edx, ebp
mov r9d, 0x5fe
mov qword [rsp + 0x20], rax
mov r8, r15
mov rcx, rbx
call fcn.1801d57e0
mov rax, qword [rbx + 0x70]
mov r8, rsi
mov rdx, r13
mov rcx, rbx
call qword [rax + 0x20]
mov rax, qword [rbx]
mov edi, listen
mov ecx, edi
mov r8, r15
cmp byte [rax + 5], r12b
cmovne ecx, ebp
cmp rsi, rcx
mov rcx, rbx
jae 0x1801d1525
mov r9d, 0x60b
jmp 0x1801d2894
movzx eax, byte [r13]
mov r9d, 0x60f
mov dword [rsp + 0x28], eax
mov edx, 3
lea rax, str.client_hello_v3__handshake_type:__d
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov r8, r15
cmp byte [r13], r12b
je 0x1801d155e
mov r9d, 0x612
jmp 0x1801d2891
movzx eax, byte [r13 + 2]
mov r9d, 0x617
movzx ecx, byte [r13 + 1]
mov edx, 3
shl ecx, 8
or ecx, eax
movzx eax, byte [r13 + 3]
shl ecx, 8
or ecx, eax
lea rax, str.client_hello_v3__handshake_len.:__d
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d6060
movzx eax, byte [r13 + 1]
test al, al
je 0x1801d15cc
mov dword [rsp + 0x28], eax
mov r9d, 0x61b
lea rax, str.bad_client_hello_message:__u___0
mov r8, r15
mov edx, r12d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6060
jmp 0x1801d28a8
mov rax, qword [rbx]
movzx r9d, byte [r13 + 3]
movzx edx, byte [rax + 5]
movzx eax, byte [r13 + 2]
shl eax, 8
mov ecx, eax
or rcx, r9
mov r8d, eax
cmp dl, r12b
mov rax, rdi
cmovne rax, rbp
add rcx, rax
cmp rsi, rcx
je 0x1801d1637
mov eax, r9d
mov rcx, rbx
or eax, r8d
mov r9d, 0x623
mov dword [rsp + 0x38], eax
cmp dl, r12b
lea rax, str.bad_client_hello_message:__u____u___u
mov r8, r15
cmovne edi, ebp
mov edx, r12d
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
call fcn.1801d6060
jmp 0x1801d28a8
cmp dl, r12b
jne 0x1801d178d
mov rax, qword [rbx + 0xd8]
movzx ecx, byte [rax + 4]
movzx edx, byte [rax + 5]
shl ecx, 8
or ecx, edx
cmp dword [rbx + 0xc], r12d
jne 0x1801d169f
mov rdx, qword [rbx + 0x70]
mov eax, dword [rdx + 0x464]
cmp ecx, eax
je 0x1801d1695
mov dword [rsp + 0x30], eax
mov r9d, 0x636
mov dword [rsp + 0x28], ecx
lea rax, str.bad_client_hello_message_seq:__u__expected__u_
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8, r15
mov edx, r12d
call fcn.1801d6060
jmp 0x1801d28a8
inc eax
mov dword [rdx + 0x464], eax
jmp 0x1801d16b5
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x460], ecx
inc ecx
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x464], ecx
mov r8, qword [rbx + 0xd8]
movzx eax, byte [r8 + 2]
movzx ecx, byte [r8 + 6]
movzx r9d, byte [r8 + 1]
movzx edx, byte [r8 + 9]
shl r9d, 8
or r9d, eax
shl edx, 8
movzx eax, byte [r8 + 3]
shl ecx, 8
shl r9d, 8
or r9d, eax
movzx eax, byte [r8 + 0xa]
or edx, eax
mov dword [rsp + 0x38], r9d
movzx eax, byte [r8 + 0xb]
mov r9d, 0x64c
shl edx, 8
or edx, eax
movzx eax, byte [r8 + 7]
or ecx, eax
mov dword [rsp + 0x30], edx
movzx eax, byte [r8 + 8]
mov edx, ebp
shl ecx, 8
mov r8, r15
or ecx, eax
lea rax, str.fragment_offset_u_fragment_length_u_length_u
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov rcx, qword [rbx + 0xd8]
cmp byte [rcx + 6], 0
jne 0x1801d1763
cmp byte [rcx + 7], 0
jne 0x1801d1763
cmp byte [rcx + 8], 0
jne 0x1801d1763
movzx eax, word [rcx + 1]
cmp ax, word [rcx + 9]
jne 0x1801d1763
movzx eax, byte [rcx + 3]
cmp al, byte [rcx + 0xb]
je 0x1801d178d
lea rax, str.ClientHello_fragmentation_not_supported
mov r9d, 0x64f
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, r12d
mov rcx, rbx
call fcn.1801d6060
mov eax, 0xffff8f80
jmp 0x1801d28ad
mov rax, qword [rbx]
mov rcx, rdi
mov r8, r15
cmp byte [rax + 5], r12b
cmovne rcx, rbp
add r13, rcx
sub rsi, rcx
mov qword [rsp + 0x70], r13
mov rcx, rbx
cmp rsi, 0x26
jae 0x1801d17bd
mov r9d, 0x66e
jmp 0x1801d2894
mov qword [rsp + 0x30], 2
lea rax, str.client_hello__version
mov qword [rsp + 0x28], r13
mov r9d, 0x675
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
mov rax, qword [rbx]
lea rdx, [rbx + 0x18]
mov r9, r13
lea rcx, [rbx + 0x14]
movzx r8d, byte [rax + 5]
call fcn.1801c80a0
mov rcx, qword [rbx + 0x70]
movzx eax, byte [rbx + 0x14]
mov byte [rcx], al
mov rcx, qword [rbx + 0x70]
movzx eax, byte [rbx + 0x18]
mov byte [rcx + 1], al
mov rdx, qword [rbx]
mov r8d, dword [rbx + 0x14]
movzx r10d, byte [rdx + 2]
cmp r8d, r10d
jl 0x1801d2833
movzx eax, byte [rdx + 3]
mov r9d, dword [rbx + 0x18]
cmp r9d, eax
jl 0x1801d2833
movzx eax, byte [rdx]
cmp r8d, eax
jle 0x1801d184b
mov dword [rbx + 0x14], eax
movzx eax, byte [rdx + 1]
jmp 0x1801d1854
movzx eax, byte [rdx + 1]
cmp r9d, eax
jle 0x1801d1857
mov dword [rbx + 0x18], eax
mov qword [rsp + 0x30], 0x20
lea rax, str.client_hello__random_bytes
lea rdi, [r13 + 2]
mov r9d, 0x692
mov qword [rsp + 0x28], rdi
mov r8, r15
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d57e0
mov rax, qword [rbx + 0x70]
movups xmm0, xmmword [rdi]
movups xmmword [rax + 0x6a8], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x6b8], xmm1
movzx ebp, byte [r13 + 0x22]
cmp rbp, 0x20
ja 0x1801d2828
lea rax, [rbp + 0x24]
cmp rax, rsi
ja 0x1801d2828
mov qword [rsp + 0x30], rbp
lea rax, str.client_hello__session_id
lea rdi, [r13 + 0x23]
mov r9d, 0x6a3
mov qword [rsp + 0x28], rdi
mov r8, r15
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d57e0
mov rax, qword [rbx + 0x68]
xorps xmm0, xmm0
mov rdx, rdi
mov qword [rax + 0x18], rbp
mov rax, qword [rbx + 0x68]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov r8, qword [rbx + 0x68]
lea rcx, [r8 + 0x20]
mov r8, qword [r8 + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx]
lea r14, [rbp + 0x23]
mov qword [rsp + 0x58], r14
cmp byte [rax + 5], r12b
jne 0x1801d1a6f
movzx edi, byte [r14 + r13]
mov r8, r15
mov rcx, rbx
lea rbp, [rdi + r14]
lea rax, [rbp + 3]
cmp rax, rsi
jbe 0x1801d1975
lea rax, str.bad_client_hello_message
mov r9d, 0x6b4
mov edx, r12d
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov r8b, 0x46
mov dl, 2
mov rcx, rbx
call fcn.1801c83a0
jmp 0x1801d28a8
mov qword [rsp + 0x30], rdi
lea rax, str.client_hello__cookie
inc r14
mov r9d, 0x6bb
add r14, r13
mov edx, 3
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
mov rcx, qword [rbx]
mov r10, qword [rcx + 0xc8]
test r10, r10
je 0x1801d1a34
cmp dword [rbx + 0xc], 0
jne 0x1801d1a34
mov rax, qword [rbx + 0x1a8]
mov r8, rdi
mov r9, qword [rbx + 0x1a0]
mov rdx, r14
mov rcx, qword [rcx + 0xd0]
mov qword [rsp + 0x20], rax
call r10
mov r8, r15
mov edx, 2
mov rcx, rbx
test eax, eax
je 0x1801d1a10
lea rax, str.cookie_verification_failed
mov r9d, 0x6c6
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x470], r12b
jmp 0x1801d1a66
lea rax, str.cookie_verification_passed
mov r9d, 0x6c9
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x470], 0
jmp 0x1801d1a66
mov r8, r15
mov rcx, rbx
test rdi, rdi
je 0x1801d1a4a
mov r9d, 0x6d2
jmp 0x1801d2894
lea rax, str.cookie_verification_skipped
mov r9d, 0x6d6
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1801d6060
lea r14, [rbp + 1]
mov qword [rsp + 0x58], r14
movzx eax, byte [r14 + r13]
shl eax, 8
movsxd rbp, eax
movzx eax, byte [r14 + r13 + 1]
or rbp, rax
mov qword [rsp + 0x80], rbp
cmp rbp, 2
jb 0x1801d281d
lea rax, [rbp + 3]
add rax, r14
cmp rax, rsi
ja 0x1801d281d
test r12b, bpl
jne 0x1801d281d
mov qword [rsp + 0x30], rbp
lea rax, [r13 + 2]
add rax, r14
mov r9d, 0x6ee
mov qword [rsp + 0x28], rax
mov r8, r15
lea rax, str.client_hello__ciphersuitelist
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
lea rdx, [rbp + 2]
add rdx, r14
movzx ecx, byte [rdx + r13]
lea rax, [rcx - 1]
cmp rax, 0xf
ja 0x1801d2812
lea rdi, [rdx + 1]
add rdi, rcx
cmp rdi, rsi
ja 0x1801d2812
mov qword [rsp + 0x30], rcx
lea rax, [r13 + 1]
add rax, rdx
mov r9d, 0x701
mov qword [rsp + 0x28], rax
mov r8, r15
lea rax, str.client_hello__compression
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
mov rax, qword [rbx + 0x68]
xor ecx, ecx
mov dword [rax + 0x14], ecx
mov rax, qword [rbx]
cmp byte [rax + 5], r12b
jne 0x1801d1b57
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x14], ecx
cmp rsi, rdi
jbe 0x1801d1bc2
lea rax, [rdi + 2]
cmp rsi, rax
jae 0x1801d1b97
mov r9d, 0x71e
lea rax, str.bad_client_hello_message
mov r8, r15
mov edx, r12d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6060
mov r8b, 0x32
mov rcx, rbx
mov dl, 2
call fcn.1801c83a0
jmp 0x1801d28a8
movzx eax, byte [rdi + r13]
movzx ecx, byte [rdi + r13 + 1]
shl rax, 8
or rcx, rax
mov qword [rsp + 0x50], rcx
lea rax, [rcx + 2]
add rax, rdi
cmp rsi, rax
je 0x1801d1bc7
mov r9d, 0x728
jmp 0x1801d1b6b
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x30], rcx
lea rax, [r13 + 2]
add rax, rdi
mov r9d, 0x732
mov qword [rsp + 0x28], rax
mov r8, r15
mov qword [rsp + 0x68], rax
mov edx, 3
lea rax, str.client_hello_extensions
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x1801d23f0
mov r13, qword [rsp + 0x68]
lea rbp, str.found_truncated_hmac_extension
lea r14, str.found_encrypt_then_mac_extension
lea r10, str.unknown_extension_found:__u__ignoring_
lea r11, str.found_renegotiation_extension
lea rsi, str.found_max_fragment_length_extension
lea r9, [0x180000000]
cmp r8, 4
jb 0x1801d23e5
movzx ecx, byte [r13 + 3]
movzx eax, byte [r13 + 1]
movzx edx, byte [r13]
shl edx, 8
or edx, eax
mov dword [rsp + 0x60], ecx
movzx eax, byte [r13 + 2]
mov edi, eax
mov dword [rsp + 0x108], eax
shl edi, 8
or edi, ecx
lea ecx, [rdi + 4]
cmp rcx, r8
ja 0x1801d23da
cmp edx, 0xff01
ja case.0x1801d1cac.10
je 0x1801d220a
cmp edx, 0x23
ja case.0x1801d1cac.10
movzx eax, byte [r9 + rdx + 0x1d28f0]
mov ecx, dword [r9 + rax*4 + 0x1d28c4]
add rcx, r9
jmp rcx
lea rax, str.found_ServerName_extension
mov r9d, 0x749
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rbx]
cmp qword [rax + 0x90], 0
je 0x1801d1e2f
mov r8d, edi
lea rdx, [r13 + 4]
mov rcx, rbx
call fcn.1801d3480
test eax, eax
jne 0x1801d28ad
jmp 0x1801d1e2f
lea rax, str.found_signature_algorithms_extension
mov r9d, 0x764
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov r8d, edi
lea rdx, [r13 + 4]
mov rcx, rbx
call fcn.1801d3930
test eax, eax
jne 0x1801d28ad
mov edi, r12d
mov dword [rsp + 0xf0], r12d
jmp 0x1801d1e36
lea rax, str.found_supported_elliptic_curves_extension
mov r9d, 0x773
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov ecx, edi
cmp rcx, 2
jb 0x1801d22f2
movzx eax, byte [r13 + 5]
movzx ebp, byte [r13 + 4]
shl rbp, 8
or rbp, rax
lea rax, [rbp + 2]
cmp rax, rcx
jne 0x1801d22ea
test r12b, bpl
jne 0x1801d22ea
mov rax, qword [rbx + 0x70]
cmp qword [rax + 0x3a0], 0
jne 0x1801d22e2
mov eax, listen
mov rsi, rbp
shr rsi, 1
inc rsi
cmp rsi, 0xc
lea edx, [rax - 4]
cmova rsi, rax
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r14, rax
test rax, rax
je 0x1801d22c9
mov rcx, qword [rbx + 0x70]
lea rdi, [r13 + 6]
mov qword [rcx + 0x3a0], rax
test rbp, rbp
je 0x1801d1e21
nop
cmp rsi, r12
jbe 0x1801d1e21
movzx eax, byte [rdi]
movzx ecx, byte [rdi + 1]
shl ax, 8
or cx, ax
call fcn.1801a40c0
test rax, rax
je 0x1801d1e17
mov qword [r14], rax
add r14, 8
dec rsi
add rdi, 2
sub rbp, 2
jne 0x1801d1df0
lea rbp, str.found_truncated_hmac_extension
lea r14, str.found_encrypt_then_mac_extension
mov edi, dword [rsp + 0xf0]
mov esi, dword [rsp + 0xf8]
movzx eax, byte [rsp + 0x60]
lea r13, [r13 + 4]
mov r8, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x108]
shl rcx, 8
or rcx, rax
mov rax, 0xfffffffffffffffc
sub rax, rcx
add r8, rax
mov qword [rsp + 0x50], r8
lea r13, [rcx + r13]
mov qword [rsp + 0x68], r13
jne 0x1801d1c20
mov r13, qword [rsp + 0x70]
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x80]
lea r8, [r13 + 2]
add r8, r14
jmp 0x1801d23fb
lea rax, str.found_supported_point_formats_extension
mov r9d, 0x77c
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rbx + 0x70]
mov edx, edi
or byte [rax + 3], r12b
test edi, edi
je 0x1801d232b
movzx ecx, byte [r13 + 4]
lea rax, [rcx + 1]
cmp rax, rdx
jne 0x1801d232b
lea rdx, [r13 + 5]
test rcx, rcx
je 0x1801d1e2f
nop dword [rax]
movzx eax, byte [rdx]
cmp al, 2
jb 0x1801d1f04
inc rdx
sub rcx, r12
jne 0x1801d1ef0
jmp 0x1801d1e2f
mov ecx, eax
mov r9d, 0x18d
mov rax, qword [rbx + 0x70]
mov r8, r15
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.1801d6060
jmp 0x1801d1e2f
mov r9d, 0x794
mov qword [rsp + 0x20], rsi
mov r8, r15
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
cmp edi, r12d
jne 0x1801d2333
movzx ecx, byte [r13 + 4]
cmp cl, 5
jae 0x1801d2333
mov rax, qword [rbx + 0x68]
mov byte [rax], cl
jmp 0x1801d1e2f
mov r9d, 0x79f
mov qword [rsp + 0x20], rbp
mov r8, r15
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
test edi, edi
jne 0x1801d233e
mov rax, qword [rbx]
mov esi, dword [rsp + 0xf8]
mov edi, dword [rsp + 0xf0]
cmp byte [rax + 0xf], r12b
jne 0x1801d1e3d
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x94], r12d
jmp 0x1801d1e3d
mov r9d, 0x7b5
mov qword [rsp + 0x20], r14
mov r8, r15
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
test edi, edi
jne 0x1801d2346
mov rax, qword [rbx]
cmp byte [rax + 0xa], r12b
jne 0x1801d1e2f
cmp dword [rbx + 0x18], 0
mov esi, dword [rsp + 0xf8]
mov edi, dword [rsp + 0xf0]
je 0x1801d1e3d
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x98], r12d
jmp 0x1801d1e3d
lea rax, str.found_extended_master_secret_extension
mov r9d, 0x7c0
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
test edi, edi
jne 0x1801d234e
mov rax, qword [rbx]
cmp byte [rax + 0xb], r12b
jne 0x1801d1e2f
cmp dword [rbx + 0x18], 0
mov esi, dword [rsp + 0xf8]
mov edi, dword [rsp + 0xf0]
je 0x1801d1e3d
mov rax, qword [rbx + 0x70]
mov byte [rax + 6], r12b
jmp 0x1801d1e3d
lea rax, str.found_session_ticket_extension
mov r9d, 0x7cb
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov r8d, edi
lea rdx, [r13 + 4]
mov rcx, rbx
call fcn.1801d36d0
test eax, eax
jne 0x1801d28ad
jmp 0x1801d1e2f
lea rax, str.found_alpn_extension
mov r9d, 0x7d6
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rbx]
mov edx, edi
cmp qword [rax + 0x188], 0
je 0x1801d1e2f
cmp rdx, 4
jb 0x1801d1b85
movzx eax, byte [r13 + 4]
movzx ecx, byte [r13 + 5]
shl rax, 8
or rcx, rax
lea rax, [rdi - 2]
cmp rcx, rax
jne 0x1801d1b85
lea r8, [r13 + 6]
lea r14, [r13 + 4]
mov qword [rsp + 0x90], r8
add r14, rdx
mov rcx, r8
cmp r8, r14
je 0x1801d2166
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [rcx]
mov rax, r14
inc rcx
sub rax, rcx
cmp rdx, rax
ja 0x1801d1b85
test rdx, rdx
je 0x1801d2387
add rcx, rdx
cmp rcx, r14
jne 0x1801d2140
mov rax, qword [rbx]
mov rcx, qword [rax + 0x188]
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
test rax, rax
je 0x1801d21e7
mov r13, rax
mov rbp, 0xffffffffffffffff
inc rbp
cmp byte [rax + rbp], 0
jne 0x1801d2187
mov rdi, r8
cmp r8, r14
je 0x1801d21d2
nop dword [rax + rax]
movzx esi, byte [rdi]
inc rdi
cmp rsi, rbp
jne 0x1801d21bd
mov r8d, esi
mov rdx, r13
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1801d21f9
add rdi, rsi
cmp rdi, r14
jne 0x1801d21a0
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x90]
mov r13, qword [rcx + 8]
add rcx, 8
mov qword [rsp + 0x78], rcx
mov rax, r13
test r13, r13
jne 0x1801d2180
mov r8b, 0x78
mov rcx, rbx
mov dl, 2
call fcn.1801c83a0
jmp 0x1801d28a8
mov qword [rbx + 0x198], r13
mov r13, qword [rsp + 0x68]
jmp 0x1801d1e21
mov r9d, 0x756
mov qword [rsp + 0x20], r11
mov r8, r15
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
cmp dword [rbx + 0xc], 0
mov esi, r12d
mov dword [rsp + 0xf8], r12d
mov ecx, edi
je 0x1801d227e
mov r8, qword [rbx + 0x1b8]
lea rax, [r8 + 1]
cmp rcx, rax
jne 0x1801d2399
movzx eax, byte [r13 + 4]
cmp rax, r8
jne 0x1801d2399
lea rdx, [rbx + 0x1cc]
lea rcx, [r13 + 5]
call fcn.1801b2dc0
test eax, eax
jne 0x1801d2399
mov edi, dword [rsp + 0xf0]
jmp 0x1801d1e3d
cmp rcx, rsi
jne 0x1801d23a8
cmp byte [r13 + 4], 0
jne 0x1801d23a8
mov edi, dword [rsp + 0xf0]
mov dword [rbx + 0x1b0], r12d
jmp 0x1801d1e3d
mov dword [rsp + 0x28], edx
mov r9d, 0x7ec
mov edx, 3
mov qword [rsp + 0x20], r10
mov r8, r15
mov rcx, rbx
call fcn.1801d6060
jmp 0x1801d1e2f
mov r8b, 0x50
mov dl, 2
mov rcx, rbx
mov edi, 0xffff8100
call fcn.1801c83a0
mov eax, edi
jmp 0x1801d28ad
mov r9d, 0x14e
jmp 0x1801d22f8
mov r9d, 0x146
jmp 0x1801d22f8
mov r9d, 0x13e
lea rax, str.bad_client_hello_message
mov r8, r15
mov edx, r12d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6060
mov r8b, 0x32
mov dl, 2
mov rcx, rbx
mov edi, 0xffff8700
call fcn.1801c83a0
mov eax, edi
jmp 0x1801d28ad
mov r9d, 0x17c
jmp 0x1801d2354
mov sil, 0x2f
mov r9d, 0x1bd
jmp 0x1801d2357
mov r9d, 0x214
jmp 0x1801d2354
mov r9d, 0x22b
jmp 0x1801d2354
mov r9d, 0x243
mov sil, 0x32
lea rax, str.bad_client_hello_message
mov r8, r15
mov edx, r12d
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdi, rbx
call fcn.1801d6060
movzx r8d, sil
mov rcx, rbx
mov dl, 2
call fcn.1801c83a0
jmp 0x1801d28a8
mov r8b, 0x2f
mov rcx, rbx
mov dl, 2
call fcn.1801c83a0
jmp 0x1801d28a8
mov r9d, 0xc8
lea rax, str.non_matching_renegotiation_info
jmp 0x1801d23b5
mov r9d, 0xd1
lea rax, str.non_zero_length_renegotiation_info
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov edx, r12d
mov r8, r15
call fcn.1801d6060
mov r8b, 0x28
mov rcx, rbx
mov dl, 2
call fcn.1801c83a0
jmp 0x1801d28a8
mov r9d, 0x741
jmp 0x1801d1b6b
mov r9d, 0x738
jmp 0x1801d1b6b
lea r8, [r13 + 2]
xor esi, esi
add r8, r14
xor edi, edi
mov rdx, r8
lea r9, [r14 + r13]
sub rdx, r14
sub rdx, r13
sub rdx, 2
nop dword [rax]
movzx eax, byte [r8]
movzx ecx, byte [r9 + rdx + 3]
shl eax, 8
or ecx, eax
cmp ecx, 0x5600
je 0x1801d2491
add r8, 2
add rdx, 2
cmp rdx, rbp
jb 0x1801d2410
test edi, edi
jne 0x1801d245b
mov edi, 4
mov rcx, rbx
mov edx, edi
call fcn.1801bed40
mov rcx, qword [rbx + 0x70]
xor edx, edx
test eax, eax
cmove edx, edi
add rcx, 8
call fcn.1801c15f0
lea rcx, [r13 + 2]
add rcx, r14
lea rdx, [r14 + r13]
mov rax, rcx
sub rax, r14
sub rax, r13
sub rax, 2
cmp byte [rcx], 0
jne 0x1801d247f
cmp byte [rax + rdx + 3], 0xff
je 0x1801d24f5
add rcx, 2
add rax, 2
cmp rax, rbp
jb 0x1801d2473
jmp 0x1801d2536
lea rax, str.received_FALLBACK_SCSV
mov r9d, 0x7f9
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rbx]
movzx ecx, byte [rax + 1]
cmp dword [rbx + 0x18], ecx
jge 0x1801d2434
lea rax, str.inapropriate_fallback
mov r9d, 0x7fc
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, r12d
mov rcx, rbx
call fcn.1801d6060
mov r8b, 0x56
mov rcx, rbx
mov dl, 2
call fcn.1801c83a0
jmp 0x1801d28a8
lea rax, str.received_TLS_EMPTY_RENEGOTIATION_INFO
mov r9d, 0x822
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
cmp dword [rbx + 0xc], r12d
jne 0x1801d252f
lea rax, str.received_RENEGOTIATION_SCSV_during_renegotiation
mov r9d, 0x826
jmp 0x1801d23b5
mov dword [rbx + 0x1b0], r12d
mov ecx, dword [rbx + 0x1b0]
cmp ecx, r12d
je 0x1801d255c
mov rax, qword [rbx]
cmp byte [rax + 7], 2
jne 0x1801d255c
mov r9d, 0x836
lea rax, str.legacy_renegotiation__breaking_off_handshake
jmp 0x1801d23b5
cmp dword [rbx + 0xc], r12d
jne 0x1801d25b6
cmp ecx, r12d
jne 0x1801d257d
test esi, esi
jne 0x1801d259b
mov r9d, 0x83d
lea rax, str.renegotiation_info_extension_missing__secure_
jmp 0x1801d23b5
test ecx, ecx
jne 0x1801d25b6
mov rax, qword [rbx]
cmp byte [rax + 7], cl
jne 0x1801d259f
mov r9d, 0x842
lea rax, str.legacy_renegotiation_not_allowed
jmp 0x1801d23b5
test ecx, ecx
jne 0x1801d25b6
cmp esi, r12d
jne 0x1801d25b6
mov r9d, 0x847
lea rax, str.renegotiation_info_extension_present__legacy_
jmp 0x1801d23b5
movsxd rcx, dword [rbx + 0x18]
xor r14d, r14d
mov rax, qword [rbx]
xor r12d, r12d
mov qword [rsp + 0xf0], r14
mov rax, qword [rax + rcx*8 + 0x38]
mov qword [rsp + 0x108], rax
cmp dword [rax], r12d
je 0x1801d27d9
mov r8, qword [rsp + 0x58]
mov r15, rax
mov rdx, qword [rsp + 0x70]
add r13, r8
lea rcx, [r8 + rdx]
mov qword [rsp + 0xf8], rcx
nop dword [rax]
lea rdi, [r13 + 2]
sub rdi, r8
lea rsi, [r13 + 2]
sub rdi, rdx
sub rdi, 2
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi]
movzx ecx, byte [rdi + rcx + 3]
mov edx, dword [r15]
shl eax, 8
or ecx, eax
cmp ecx, edx
jne 0x1801d2667
lea r8, [rsp + 0xf0]
mov rcx, rbx
mov r14d, 1
call fcn.1801d07c0
test eax, eax
jne 0x1801d28ad
mov rbp, qword [rsp + 0xf0]
test rbp, rbp
jne 0x1801d269f
mov rbp, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xf8]
add rsi, 2
add rdi, 2
mov eax, r14d
cmp rdi, rbp
jb 0x1801d2620
add r15, 4
inc r12
cmp dword [r15], 0
je 0x1801d2791
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
jmp 0x1801d2600
mov rax, qword [rbp + 8]
lea rdi, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x28], rax
mov r9d, 0x890
lea rax, str.selected_ciphersuite:__s
mov r8, rdi
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rsp + 0x108]
mov rcx, qword [rbx + 0x68]
mov eax, dword [rax + r12*4]
mov dword [rcx + 0x10], eax
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x18], rbp
mov rax, qword [rbx]
inc dword [rbx + 8]
cmp byte [rax + 5], r14b
jne 0x1801d2700
mov rcx, rbx
call fcn.1801c80e0
cmp dword [rbx + 0x18], 3
jne 0x1801d2768
mov rcx, rbp
call fcn.1801cb630
test eax, eax
je 0x1801d273e
mov rcx, qword [rbx + 0x70]
mov edx, eax
add rcx, 8
call fcn.1801c1600
mov ecx, eax
call fcn.1801c0460
movzx eax, al
mov r9d, 0x8a7
mov dword [rsp + 0x28], eax
lea rax, str.client_hello_v3__signature_algorithm_ext:__d
jmp 0x1801d2753
mov dword [rsp + 0x28], 0
lea rax, str.no_hash_algorithm_for_signature_algorithm__u___should_not_happen
mov r9d, 0x8aa
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
lea rax, str.__parse_client_hello
mov r9d, 0x8af
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1801d6060
xor eax, eax
jmp 0x1801d28ad
test eax, eax
je 0x1801d27d2
lea rax, str.got_ciphersuites_in_common__but_none_of_them_usable
mov r9d, 0x884
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1801d6060
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.1801c83a0
mov eax, 0xffff9680
jmp 0x1801d28ad
lea r15, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.got_no_ciphersuites_in_common
mov r9d, 0x889
mov r8, r15
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1801d6060
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.1801c83a0
mov eax, 0xffff8c80
jmp 0x1801d28ad
mov r9d, 0x6fa
jmp 0x1801d1b6b
mov r9d, 0x6e7
jmp 0x1801d1b6b
mov r9d, 0x69d
jmp 0x1801d1b6b
movzx eax, byte [rdx + 3]
mov r9d, 0x682
mov dword [rsp + 0x40], eax
mov edx, r12d
mov eax, dword [rbx + 0x18]
mov rcx, rbx
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], eax
lea rax, str.client_only_supports_ssl_smaller_than_minimum___d:_d______d:_d_
mov dword [rsp + 0x28], r8d
mov r8, r15
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov r8b, 0x46
mov dl, 2
mov rcx, rbx
call fcn.1801c83a0
mov eax, 0xffff9180
jmp 0x1801d28ad
mov r9d, 0x5bd
mov r8, r15
jmp 0x1801d2891
mov r9d, 0x5ac
mov rcx, rbx
lea rax, str.bad_client_hello_message
mov edx, r12d
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov eax, 0xffff8700
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
sub rsp, 0x30
mov rax, qword [rcx + 0x70]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov r9d, 0xf99
mov edx, 2
mov rbx, rcx
mov rbp, qword [rax + 0x18]
lea rax, [0x18023bde8]
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov edx, 1
mov rcx, rbx
call fcn.1801c7d40
mov edi, eax
test eax, eax
je 0x1801d29ac
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0xfa8
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6130
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx + 0xd8]
mov edx, listen
mov rax, qword [rbx]
mov r8d, 4
mov rdi, qword [rbx + 0x120]
cmp byte [rax + 5], 1
cmovne edx, r8d
add rdi, rcx
add rdx, rcx
cmp dword [rbx + 0xe8], 0x16
mov qword [rsp + 0x40], rdx
je 0x1801d2a1f
lea rax, str.bad_client_key_exchange_message
mov r9d, 0xfb0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1801d6060
mov eax, 0xffff8400
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
cmp byte [rcx], 0x10
je 0x1801d2a5f
lea rax, str.bad_client_key_exchange_message
mov r9d, 0xfb5
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1801d6060
mov eax, 0xffff8400
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov ecx, dword [rbp + 0x18]
mov qword [rsp + 0x48], rsi
cmp ecx, 2
jne 0x1801d2b67
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1801d10a0
mov esi, eax
test eax, eax
je 0x1801d2ab7
lea rcx, str.ssl_parse_client_dh_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0xfbc
mov edx, 1
call fcn.1801d6130
mov eax, esi
jmp 0x1801d310a
cmp qword [rsp + 0x40], rdi
je 0x1801d2acc
mov r9d, 0xfc1
mov rcx, rbx
jmp 0x1801d2dae
mov r8, qword [rbx]
mov rcx, qword [rbx + 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.1801ffee0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
test eax, eax
je 0x1801d2b37
mov dword [rsp + 0x28], eax
mov r9d, 0xfca
lea rax, str.mbedtls_dhm_calc_secret
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, 0xffff8300
jmp 0x1801d310a
mov rax, qword [rbx + 0x70]
mov r9d, 0xfce
add rax, 0xc0
mov edx, 3
mov qword [rsp + 0x28], rax
lea rax, str.DHM:_K
mov qword [rsp + 0x20], rax
call fcn.1801d5e60
jmp 0x1801d30ad
lea eax, [rcx - 3]
cmp eax, 1
jbe 0x1801d2fa3
lea eax, [rcx - 9]
cmp eax, 1
jbe 0x1801d2fa3
cmp ecx, 5
jne 0x1801d2c27
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1801d3120
mov esi, eax
test eax, eax
je 0x1801d2bcf
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0xff5
mov edx, 1
call fcn.1801d6130
mov eax, esi
jmp 0x1801d310a
mov rcx, rbx
cmp qword [rsp + 0x40], rdi
je 0x1801d2be4
mov r9d, 0xffa
jmp 0x1801d2dae
mov edx, dword [rbp + 0x18]
call fcn.1801c0ab0
mov edi, eax
test eax, eax
je 0x1801d30ad
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x1007
mov edx, 1
call fcn.1801d6130
mov eax, edi
jmp 0x1801d310a
cmp ecx, 7
jne 0x1801d2d07
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1801d3120
mov esi, eax
test eax, eax
je 0x1801d2c77
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x101a
mov edx, 1
call fcn.1801d6130
mov eax, esi
jmp 0x1801d310a
mov rdx, qword [rsp + 0x40]
mov r9d, 2
mov r8, rdi
mov rcx, rbx
call fcn.1801d3300
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x1801d2cc4
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.ssl_parse_encrypted_pms
mov r9d, 0x1027
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, edi
jmp 0x1801d310a
mov edx, dword [rbp + 0x18]
call fcn.1801c0ab0
mov edi, eax
test eax, eax
je 0x1801d30ad
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x102d
mov edx, 1
call fcn.1801d6130
mov eax, edi
jmp 0x1801d310a
cmp ecx, 6
jne 0x1801d2e18
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1801d3120
mov esi, eax
test eax, eax
je 0x1801d2d57
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x1035
mov edx, 1
call fcn.1801d6130
mov eax, esi
jmp 0x1801d310a
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1801d10a0
mov esi, eax
test eax, eax
je 0x1801d2d9e
lea rcx, str.ssl_parse_client_dh_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x1039
mov edx, 1
call fcn.1801d6130
mov eax, esi
jmp 0x1801d310a
mov rcx, rbx
cmp qword [rsp + 0x40], rdi
je 0x1801d2dd5
mov r9d, 0x1046
lea rax, str.bad_client_key_exchange
mov edx, 1
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov eax, 0xffff8400
jmp 0x1801d310a
mov edx, dword [rbp + 0x18]
call fcn.1801c0ab0
mov edi, eax
test eax, eax
je 0x1801d30ad
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x104c
mov edx, 1
call fcn.1801d6130
mov eax, edi
jmp 0x1801d310a
cmp ecx, 8
jne 0x1801d2f28
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1801d3120
mov esi, eax
test eax, eax
je 0x1801d2e68
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x1054
mov edx, 1
call fcn.1801d6130
mov eax, esi
jmp 0x1801d310a
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x70]
sub rdi, rdx
mov r8, rdi
add rcx, 0x138
call fcn.1802009a0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
test eax, eax
je 0x1801d2ebb
mov dword [rsp + 0x28], eax
mov r9d, 0x105a
lea rax, str.mbedtls_ecdh_read_public
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, 0xffff8380
jmp 0x1801d310a
mov rax, qword [rbx + 0x70]
mov r9d, 0x1067
add rax, 0x138
mov dword [rsp + 0x28], 1
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1801d61f0
mov edx, dword [rbp + 0x18]
mov rcx, rbx
call fcn.1801c0ab0
mov edi, eax
test eax, eax
je 0x1801d30ad
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
mov r9d, 0x106b
mov edx, 1
call fcn.1801d6130
mov eax, edi
jmp 0x1801d310a
cmp ecx, 1
mov rcx, rbx
jne 0x1801d2f76
xor r9d, r9d
mov r8, rdi
call fcn.1801d3300
mov edi, eax
test eax, eax
je 0x1801d30ad
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.ssl_parse_parse_encrypted_pms_secret
mov r9d, 0x1073
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6130
mov eax, edi
jmp 0x1801d310a
lea rax, str.should_never_happen
mov r9d, 0x108b
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
call fcn.1801d6060
mov eax, 0xffff9400
jmp 0x1801d310a
mov rcx, qword [rbx + 0x70]
sub rdi, rdx
add rcx, 0x138
mov r8, rdi
call fcn.1802009a0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
test eax, eax
je 0x1801d2ff1
mov dword [rsp + 0x28], eax
mov r9d, 0xfdb
lea rax, str.mbedtls_ecdh_read_public
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, 0xffff8380
jmp 0x1801d310a
mov rax, qword [rbx + 0x70]
mov r9d, 0xfe0
add rax, 0x138
mov dword [rsp + 0x28], 1
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1801d61f0
mov r9, qword [rbx]
mov rcx, qword [rbx + 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.180200410
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rbx
test eax, eax
je 0x1801d3086
mov dword [rsp + 0x28], eax
mov r9d, 0xfe7
lea rax, str.mbedtls_ecdh_calc_secret
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, 0xffff8300
jmp 0x1801d310a
mov rax, qword [rbx + 0x70]
mov r9d, 0xfec
add rax, 0x138
mov dword [rsp + 0x28], 2
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1801d61f0
mov rcx, rbx
call fcn.1801bf250
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x1801d30e9
mov dword [rsp + 0x28], eax
mov r9d, 0x1090
lea rax, str.mbedtls_ssl_derive_keys
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, edi
jmp 0x1801d310a
inc dword [rbx + 8]
lea rax, str.__parse_client_key_exchange
mov r9d, 0x1096
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.1801d6060
xor eax, eax
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
push rbx
push rsi
push r12
sub rsp, 0x60
mov rax, qword [rcx + 0x70]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov r12, qword [rcx + 0x160]
mov r9d, 0xbb7
mov edx, 2
mov rsi, rcx
add r12, 0x4000
mov rbx, qword [rax + 0x18]
lea rax, [0x18023bae0]
mov qword [rsp + 0x20], rax
call fcn.1801d6060
inc dword [rsi + 8]
mov rax, qword [rsi + 0x70]
movzx edx, byte [rax + 4]
cmp dl, 3
jne 0x1801d453c
mov rax, qword [rsi]
movzx edx, byte [rax + 6]
mov eax, dword [rbx + 0x18]
dec eax
cmp eax, 9
ja case.0x1801d455e.5
lea r8, [0x180000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x1d47f8]
add rcx, r8
jmp rcx
test dl, dl
je case.0x1801d455e.5
mov rax, qword [rsi + 0x160]
xor ebx, ebx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x40], r15
mov r15d, ebx
mov word [rax + 5], 0x4001
lea rdi, [rax + 4]
mov qword [rsp + 0x90], rbp
mov byte [rdi], 2
add rdi, 3
cmp dword [rsi + 0x18], 3
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], rbx
jne 0x1801d461c
mov rax, qword [rsi]
mov r14, qword [rax + 0x128]
mov eax, dword [r14]
test eax, eax
je 0x1801d4608
lea rbx, [rdi + 2]
mov ecx, eax
call fcn.1801c0460
movzx ebp, al
test al, al
je 0x1801d45fa
mov edx, ebp
mov rcx, rsi
call fcn.1801c12b0
test eax, eax
jne 0x1801d45fa
mov byte [rbx], bpl
add r15, 4
mov byte [rbx + 1], 1
mov byte [rbx + 2], bpl
mov byte [rbx + 3], 3
add rbx, 4
mov eax, dword [r14 + 4]
add r14, 4
test eax, eax
jne 0x1801d45c7
xor ebx, ebx
mov rax, r15
mov byte [rdi + 1], r15b
shr rax, 8
add r15, 2
mov byte [rdi], al
add rdi, r15
mov rcx, qword [rsi]
add rdi, 2
cmp byte [rcx + 0x12], 1
jne 0x1801d4730
mov rax, qword [rsi + 0x70]
mov rbp, qword [rax + 0x3c8]
test rbp, rbp
jne 0x1801d464d
mov rbp, qword [rcx + 0x118]
test rbp, rbp
je 0x1801d4730
mov qword [rsp + 0x50], r13
cmp dword [rbp + 0x38], 0
je 0x1801d472b
cmp r12, rdi
jb 0x1801d4705
movzx r14d, word [rbp + 0x90]
mov rcx, r12
sub rcx, rdi
lea rax, [r14 + 2]
cmp rcx, rax
jb 0x1801d4705
mov byte [rdi + 1], r14b
movzx eax, r14w
shr ax, 8
mov r8d, r14d
mov byte [rdi], al
add rdi, 2
mov rdx, qword [rbp + 0x98]
mov rcx, rdi
mov rbx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rax, str.requested_DN
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rbx
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov r9d, 0xc39
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rsi
add rdi, r14
call fcn.1801d57e0
mov rbx, qword [rsp + 0x80]
add r14w, 2
mov rbp, qword [rbp + 0x260]
add bx, r14w
mov qword [rsp + 0x80], rbx
test rbp, rbp
jne 0x1801d4652
jmp 0x1801d472b
lea rax, str.skipping_CAs:_buffer_too_short
mov r9d, 0xc30
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rsi
call fcn.1801d6060
mov r13, qword [rsp + 0x50]
mov rax, qword [rsi + 0x160]
movzx ecx, bx
sub rdi, qword [rsp + 0x88]
mov qword [rsi + 0x170], rdi
mov dword [rsi + socket8], 0x16
mov byte [rax], reloc.WS2_32.dll_listen
mov rax, qword [rsi + 0x160]
shr cx, 8
mov byte [rax + r15 + 7], cl
mov rcx, rsi
mov rax, qword [rsi + 0x160]
mov byte [rax + r15 + 8], bl
call fcn.1801c8ab0
mov ebx, eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.__write_certificate_request
mov r9d, 0xc47
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1801d6060
mov r15, qword [rsp + 0x40]
mov eax, ebx
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x90]
add rsp, 0x60
pop r12
pop rsi
pop rbx
ret
lea rax, str.__skip_write_certificate_request
mov r9d, 0xbc4
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rsi
call fcn.1801d6060
xor eax, eax
add rsp, 0x60
pop r12
pop rsi
pop rbx
ret
push rbx
push r14
sub rsp, 0x108
mov rax, qword [0x1802b7c00]
xor rax, rsp
mov qword [rsp + 0xe0], rax
lea rax, [0x18023ba10]
mov r9d, 0xac3
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rbx, rcx
call fcn.1801d6060
mov rcx, qword [rbx]
movzx r9d, byte [rcx + 5]
cmp r9b, 1
jne 0x1801d4b57
mov rax, qword [rbx + 0x70]
cmp byte [rax + 0x470], 0
je 0x1801d4b57
lea rax, str.client_hello_was_not_authenticated
mov r9d, 0xac8
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1801d6060
lea rax, str.__write_server_hello
mov r9d, 0xac9
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1801d6060
mov rcx, rbx
call fcn.1801d4820
jmp 0x1801d5451
cmp qword [rcx + 0x68], 0
jne 0x1801d4b8e
lea rax, str.no_RNG_provided
mov r9d, 0xad0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1801d6060
mov eax, 0xffff8c00
jmp 0x1801d5451
mov edx, dword [rbx + 0x18]
mov r8d, r9d
mov ecx, dword [rbx + 0x14]
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0xf8], r13
mov r13, qword [rbx + 0x160]
lea r9, [r13 + 4]
lea rsi, [r13 + 4]
call fcn.1801c9460
movzx eax, byte [r13 + 5]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
movzx ecx, byte [r13 + 4]
mov r9d, 0xae3
mov dword [rsp + 0x30], eax
mov edx, 3
mov dword [rsp + 0x28], ecx
lea rax, str.server_hello__chosen_version:___d:_d_
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d6060
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rsp + 0x28], rax
mov r9d, 0xaeb
mov byte [r13 + 9], al
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rcx, rax
mov edx, 3
sar rcx, 0x18
mov byte [r13 + 6], cl
mov rcx, rax
sar rcx, 0x10
mov byte [r13 + 7], cl
mov rcx, rax
sar rcx, 8
lea rax, str.server_hello__current_time:__lld
mov byte [r13 + 8], cl
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov rax, qword [rbx]
lea rdx, [r13 + 0xa]
mov r8d, 0x1c
mov rcx, qword [rax + 0x70]
call qword [rax + 0x68]
test eax, eax
jne 0x1801d5439
mov rax, qword [rbx + 0x70]
lea rcx, [r13 + 6]
movups xmm0, xmmword [rcx]
mov qword [rsp + 0x128], rbp
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0xf0], r15
mov r9d, 0xafc
movups xmmword [rax + 0x6c8], xmm0
mov r15d, 0x20
movups xmm1, xmmword [rcx + 0x10]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rcx
mov rcx, rbx
movups xmmword [rax + 0x6d8], xmm1
lea rax, str.server_hello__random_bytes
lea edx, [r15 - 0x1d]
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
mov rax, qword [rbx + 0x70]
mov rdi, qword [rbx + 0x68]
cmp byte [rax + 2], 1
je 0x1801d4e0f
cmp qword [rdi + 0x18], 0
je 0x1801d4e0f
mov rax, qword [rbx]
cmp qword [rax + 0x78], 0
je 0x1801d4e0f
cmp dword [rbx + 0xc], 0
jne 0x1801d4e0f
lea rcx, [rsp + 0x40]
call fcn.1801c10c0
mov rax, qword [rdi + 0x18]
lea rdx, [rdi + 0x20]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x60]
mov r8, qword [rdi + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx]
lea rdx, [rsp + 0x40]
mov rcx, qword [rax + 0x88]
call qword [rax + 0x78]
test eax, eax
jne 0x1801d4e05
mov eax, dword [rsp + 0x50]
cmp dword [rdi + 0x10], eax
jne 0x1801d4e05
mov eax, dword [rsp + 0x54]
cmp dword [rdi + 0x14], eax
jne 0x1801d4e05
mov rcx, rdi
call fcn.1801c1070
lea rax, [rsp + 0x40]
xor edx, edx
movups xmm0, xmmword [rax]
mov r8d, 0xa0
lea rcx, [rsp + 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdi + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdi + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdi + 0x60], xmm0
movups xmm0, xmmword [rax + 0x70]
movups xmmword [rdi + 0x70], xmm0
movups xmm1, xmmword [rax + 0x80]
movups xmmword [rdi + 0x80], xmm1
movups xmm0, xmmword [rax + 0x90]
movups xmmword [rdi + 0x90], xmm0
call sub.VCRUNTIME140.dll_memset
lea rax, str.session_successfully_restored_from_cache
mov r9d, 0xab1
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
lea edx, [r15 - 0x1d]
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rbx + 0x70]
mov byte [rax + 2], 1
lea rcx, [rsp + 0x40]
call fcn.1801c1070
mov rax, qword [rbx + 0x70]
xor ebp, ebp
cmp byte [rax + 2], bpl
jne 0x1801d4ff1
inc dword [rbx + 8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, qword [rbx + 0x68]
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x70]
mov rcx, qword [rbx + 0x68]
cmp byte [rax + 5], bpl
je 0x1801d4fcc
mov qword [rcx + 0x18], rbp
xorps xmm0, xmm0
mov rax, qword [rbx + 0x68]
mov r15d, ebp
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov rax, qword [rbx + 0x68]
movzx ecx, byte [rax + 0x18]
mov byte [rsi + 0x22], cl
add rsi, 0x23
mov r8, qword [rbx + 0x68]
mov rcx, rsi
lea rdx, [r8 + 0x20]
mov r8, qword [r8 + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx + 0x68]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x28], r15
mov r9d, 0xb31
mov edx, 3
mov rcx, rbx
add rsi, qword [rax + 0x18]
lea rax, str.server_hello__session_id_len.:__zu
mov qword [rsp + 0x20], rax
call fcn.1801d6060
lea rax, [r13 + 0x27]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.server_hello__session_id
mov r9d, 0xb32
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d57e0
mov rax, qword [rbx + 0x70]
lea rdx, [0x18026fcf4]
lea rcx, [0x18021da8c]
mov r9d, 0xb34
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
cmp byte [rax + 2], bpl
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.1801d6060
mov rax, qword [rbx + 0x68]
mov ecx, dword [rax + 0x10]
sar ecx, 8
mov byte [rsi], cl
mov rax, qword [rbx + 0x68]
movzx ecx, byte [rax + 0x10]
mov byte [rsi + 1], cl
mov rax, qword [rbx + 0x68]
movzx ecx, byte [rax + 0x14]
mov byte [rsi + 2], cl
add rsi, 3
mov rcx, qword [rbx + 0x68]
mov ecx, dword [rcx + 0x10]
call fcn.1801cb5f0
mov qword [rsp + 0x28], rax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.server_hello__chosen_ciphersuite:__s
mov r9d, 0xb3b
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6060
mov rax, qword [rbx + 0x68]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov r9d, 0xb3d
mov edx, 3
mov ecx, dword [rax + 0x14]
lea rax, str.server_hello__compress_alg.:_0x_02X
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1801d6060
cmp dword [rbx + 0x1b0], 1
lea r14, [rsi + 2]
je 0x1801d5041
mov rdi, rbp
jmp 0x1801d50dd
mov qword [rcx + 0x18], r15
mov r8, r15
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x68]
add rdx, r15
mov rcx, qword [rax + 0x70]
call qword [rax + 0x68]
test eax, eax
je 0x1801d4e5a
jmp 0x1801d5429
mov rax, qword [rbx + 0x68]
mov rcx, rbx
mov r15, qword [rax + 0x18]
mov dword [rbx + 8], listen
call fcn.1801bf250
mov edi, eax
test eax, eax
je 0x1801d4e5a
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_ssl_derive_keys
mov r9d, 0xb20
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6130
jmp 0x1801d5427
lea rax, str.server_hello__secure_renegotiation_extension
mov r9d, 0x963
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov word [r14], 0x1ff
lea rdi, [r14 + 3]
mov eax, dword [rbx + 0xc]
mov byte [r14 + 2], bpl
test eax, eax
je 0x1801d50d1
movzx eax, byte [rbx + 0x1b8]
lea rdx, [rbx + 0x1cc]
add al, al
inc al
mov byte [rdi], al
movzx eax, byte [rbx + 0x1b8]
add al, al
mov byte [rdi + 1], al
add rdi, 2
mov r8, qword [rbx + 0x1b8]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rbx + 0x1b8]
lea rdx, [rbx + 0x1c0]
add rdi, r8
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, qword [rbx + 0x1b8]
jmp 0x1801d50da
mov word [rdi], 1
add rdi, 2
sub rdi, r14
mov rax, qword [rbx + 0x68]
lea r14, [rdi + rsi]
cmp byte [rax], bpl
jne 0x1801d50ef
mov rax, rbp
jmp 0x1801d512d
lea rax, str.server_hello__max_fragment_length_extension
mov r9d, 0x989
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov dword [r14 + 2], 0x1000100
mov rax, qword [rbx + 0x68]
movzx ecx, byte [rax]
mov eax, 5
mov byte [r14 + 6], cl
add rdi, rax
mov r15d, 4
mov rax, qword [rbx + 0x68]
lea r14, [rsi + rdi]
cmp dword [rax + 0x94], ebp
jne 0x1801d514b
mov rax, rbp
jmp 0x1801d517c
lea rax, str.server_hello__adding_truncated_hmac_extension
mov r9d, 0x8c0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov rax, r15
mov dword [r14 + 2], 0x400
add rdi, rax
lea r14, [rsi + rdi]
cmp dword [rbx + 0x18], ebp
jne 0x1801d5192
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x98], ebp
mov rcx, qword [rbx + 0x68]
mov ecx, dword [rcx + 0x10]
call fcn.1801cb550
test rax, rax
je 0x1801d51b6
mov ecx, dword [rax + 0x10]
call fcn.1801b7bb0
test rax, rax
je 0x1801d51b6
cmp dword [rax + 4], 2
je 0x1801d51c0
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x98], ebp
mov rax, qword [rbx + 0x68]
cmp dword [rax + 0x98], ebp
jne 0x1801d51d1
mov rax, rbp
jmp 0x1801d5202
lea rax, str.server_hello__adding_encrypt_then_mac_extension
mov r9d, 0x91a
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov rax, r15
mov dword [r14 + 2], 0x1600
add rdi, rax
mov rax, qword [rbx + 0x70]
lea r14, [rsi + rdi]
cmp byte [rax + 6], bpl
je 0x1801d524b
cmp dword [rbx + 0x18], ebp
je 0x1801d524b
lea rax, str.server_hello__adding_extended_master_secret_extension
mov r9d, 0x934
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov rax, r15
mov dword [r14 + 2], 0x1700
jmp 0x1801d524e
mov rax, rbp
add rdi, rax
mov rax, qword [rbx + 0x70]
lea r14, [rsi + rdi]
cmp byte [rax + 5], bpl
jne 0x1801d5264
mov r15, rbp
jmp 0x1801d5292
lea rax, str.server_hello__adding_session_ticket_extension
mov r9d, 0x94c
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov dword [r14 + 2], 0x2300
mov rcx, qword [rbx + 0x68]
add rdi, r15
mov ecx, dword [rcx + 0x10]
call fcn.1801cb550
mov rcx, rax
call fcn.1801cb580
test eax, eax
je 0x1801d52fd
mov rax, qword [rbx + 0x70]
lea r14, [rsi + rdi]
test byte [rax + 3], 1
jne 0x1801d52c0
mov rax, rbp
jmp 0x1801d52fa
lea rax, str.server_hello__supported_point_formats_extension
mov r9d, 0x9a6
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov eax, 6
mov dword [r14 + 2], 0x2000b00
mov word [r14 + 6], 1
add rdi, rax
cmp qword [rbx + 0x198], rbp
je 0x1801d5392
lea rax, str.server_hello__adding_alpn_extension
mov r9d, 0x9e9
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
mov word [rsi + rdi + 2], 0x1000
mov r8, 0xffffffffffffffff
mov rax, qword [rbx + 0x198]
inc r8
cmp byte [rax + r8], bpl
jne 0x1801d5345
lea rbp, [r8 + 7]
lea rax, [rbp - 4]
shr rax, 8
lea rcx, [rsi + 9]
mov byte [rsi + rdi + 4], al
add rcx, rdi
lea eax, [rbp - 4]
mov byte [rsi + rdi + 5], al
lea rax, [rbp - 6]
shr rax, 8
mov byte [rsi + rdi + 6], al
lea eax, [rbp - 6]
mov byte [rsi + rdi + 7], al
lea eax, [rbp - 7]
mov byte [rsi + rdi + 8], al
mov rdx, qword [rbx + 0x198]
call sub.VCRUNTIME140.dll_memcpy
lea rax, str.server_hello__total_extension_length:__zu
add rdi, rbp
mov qword [rsp + 0x28], rdi
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov r9d, 0xb81
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1801d6060
test rdi, rdi
je 0x1801d53d9
mov byte [rsi + 1], dil
mov rax, rdi
shr rax, 8
mov byte [rsi], al
add rsi, 2
add rsi, rdi
mov rax, qword [rbx + 0x160]
sub rsi, r13
mov qword [rbx + 0x170], rsi
mov rcx, rbx
mov dword [rbx + socket8], 0x16
mov byte [rax], 2
call fcn.1801c8ab0
mov edi, eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.__write_server_hello
mov r9d, 0xb92
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1801d6060
mov eax, edi
mov rbp, qword [rsp + 0x128]
mov r15, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x100]
mov r13, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1801fc6e0
add rsp, 0x108
pop r14
pop rbx
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x50
mov rax, qword [rcx + 0x70]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
xor esi, esi
mov r9d, 0xded
mov qword [rsp + 0x60], rsi
mov rdi, rcx
mov rbx, qword [rax + 0x18]
lea rax, [0x18023bc68]
lea edx, [rsi + 2]
mov qword [rsp + 0x20], rax
call fcn.1801d6060
mov edx, dword [rbx + 0x18]
mov ecx, edx
sub ecx, 1
je 0x1801d5672
sub ecx, 4
je 0x1801d5672
sub ecx, 2
je 0x1801d5672
sub ecx, 2
je 0x1801d5672
cmp ecx, 1
je 0x1801d5672
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1801d3d70
mov ebx, eax
test eax, eax
je 0x1801d554d
cmp eax, 0xffff9b00
jne 0x1801d5534
lea rax, str.__write_server_key_exchange__pending_
mov r9d, 0xe1c
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
lea edx, [rsi + 2]
mov rcx, rdi
call fcn.1801d6060
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
mov qword [rdi + 0x170], rsi
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x1801d55e3
mov rcx, qword [rdi + 0x170]
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov rax, qword [rdi + 0x160]
mov r9d, 0xe2d
shr rdx, 8
mov byte [rcx + rax], dl
inc qword [rdi + 0x170]
mov rdx, qword [rdi + 0x170]
mov rcx, qword [rdi + 0x160]
movzx eax, byte [rsp + 0x60]
mov byte [rdx + rcx], al
mov rcx, rdi
mov rax, qword [rsp + 0x60]
inc qword [rdi + 0x170]
mov rdx, qword [rdi + 0x170]
add rdx, qword [rdi + 0x160]
mov qword [rsp + 0x30], rax
lea rax, str.my_signature
mov qword [rsp + 0x28], rdx
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1801d57e0
mov rax, qword [rsp + 0x60]
add qword [rdi + 0x170], rax
mov rax, qword [rdi + 0x160]
mov rcx, rdi
mov dword [rdi + socket8], 0x16
mov byte [rax], listen
inc dword [rdi + 8]
call fcn.1801c8ab0
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov ebx, eax
mov rcx, rdi
test eax, eax
je 0x1801d5644
mov dword [rsp + 0x28], eax
mov r9d, 0xe3b
lea rax, str.mbedtls_ssl_write_handshake_msg
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1801d6130
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
lea rax, str.__write_server_key_exchange
mov r9d, 0xe3f
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1801d6060
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
sub edx, 9
je 0x1801d5680
cmp edx, 1
jne 0x1801d579a
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1801d5695
mov rax, qword [rax + 0x3b8]
test rax, rax
jne 0x1801d56a7
mov rax, qword [rdi]
mov rbx, rsi
mov rax, qword [rax + 0x110]
test rax, rax
je 0x1801d56ab
mov rbx, qword [rax + 8]
mov rcx, rbx
call fcn.18018dfc0
cmp eax, 2
je 0x1801d56f2
mov rcx, rbx
call fcn.18018dfc0
cmp eax, 3
je 0x1801d56f2
lea rax, str.server_key_not_ECDH_capable
mov r9d, 0xc59
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1801d6060
mov ebx, 0xffff9300
jmp 0x1801d575e
movups xmm0, xmmword [rbx]
lea rcx, [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
call fcn.18018dfc0
sub eax, 2
je 0x1801d5713
sub eax, 1
je 0x1801d5713
cmp eax, 1
jne 0x1801d5718
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x70]
xor r8d, r8d
add rcx, 0x138
mov rdx, rsi
call fcn.180200650
mov ebx, eax
test eax, eax
je 0x1801d579a
mov dword [rsp + 0x28], eax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
lea rax, str.mbedtls_ecdh_get_params
mov r9d, 0xc60
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1801d6130
lea rax, str.ssl_get_ecdh_params_from_cert
mov dword [rsp + 0x28], ebx
mov r9d, 0xdf9
mov qword [rsp + 0x20], rax
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov edx, 1
mov rcx, rdi
call fcn.1801d6130
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
lea rax, str.__skip_write_server_key_exchange
mov r9d, 0xe01
lea r8, str.C:Users79099_vcpkg_buildtreesmbedtls_src_v2.28.5_082ef48ee7.cleanlibrary_ssl_srv.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.1801d6060
inc dword [rdi + 8]
mov rbx, qword [rsp + 0x68]
xor eax, eax
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret