Function at 0x14001e280
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x70
xor r14d, r14d
lea rax, [0x1400bed60]
lea r12, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_server.c
mov dword [rsp + 0xc0], r14d
mov r9d, 0x39b
mov dword [rsp + 0xb8], r14d
mov r8, r12
mov qword [rsp + 0x20], rax
lea edx, [r14 + 2]
mov rbx, rcx
call fcn.1400196f0
lea ebp, [r14 + 0xd]
mov qword [rsp + 0x68], rdi
lea r13d, [r14 + 5]
lea rsi, str.replayed_record__discarding
lea r15d, [r14 + 1]
cmp dword [rbx + 0xc], r14d
jne 0x14001e2fe
mov rdx, r13
mov rcx, rbx
call fcn.14000d340
mov edi, eax
test eax, eax
jne 0x14001e459
mov rax, qword [rbx]
mov rcx, rbp
mov rdi, qword [rbx + 0xc0]
mov r9d, 0x3b3
mov r8, r12
mov edx, 4
cmp byte [rax + 9], r15b
lea rax, str.record_header
cmovne rcx, r13
mov qword [rsp + 0x30], rcx
mov rcx, rbx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.1400198c0
movzx eax, byte [rdi]
mov r9d, 0x3bf
mov dword [rsp + 0x28], eax
mov r8, r12
lea rax, str.client_hello__message_type:__d
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400196f0
cmp byte [rdi], 0x16
mov r8, r12
jne 0x14001f75e
mov rax, qword [rbx + 0xc8]
mov r9d, 0x3c8
mov edx, 3
movzx ecx, byte [rax]
movzx eax, byte [rax + 1]
shl ecx, 8
or ecx, eax
lea rax, str.client_hello__message_len.:__d
mov dword [rsp + 0x28], ecx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400196f0
movzx eax, byte [rdi + 2]
mov r9d, 0x3cb
movzx ecx, byte [rdi + 1]
mov r8, r12
mov dword [rsp + 0x30], eax
mov edx, 3
mov dword [rsp + 0x28], ecx
lea rax, str.client_hello__protocol_version:___d:_d_
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov rax, qword [rbx]
cmp byte [rax + 9], r15b
jne 0x14001e489
cmp dword [rbx + 0xc], r14d
jne 0x14001e489
mov rcx, qword [rbx + 0xb8]
cmp byte [rcx], r14b
jne 0x14001e4b0
cmp byte [rcx + 1], r14b
jne 0x14001e4b0
mov eax, dword [rcx + 2]
mov dword [rbx + 0x18a], eax
movzx eax, word [rcx + 6]
mov rcx, rbx
mov word [rbx + 0x18e], ax
call fcn.14000f430
mov rcx, rbx
test eax, eax
je 0x14001e484
mov r9d, 0x3e3
mov qword [rsp + 0x20], rsi
mov r8, r12
mov edx, r15d
call fcn.1400196f0
mov qword [rbx + 0x108], r14
mov qword [rbx + 0xf8], r14
jmp 0x14001e2e3
mov r9d, 0x3ac
lea rax, str.mbedtls_ssl_fetch_input
mov dword [rsp + 0x28], edi
mov r8, r12
mov edx, r15d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140019800
mov eax, edi
jmp 0x14001f780
call fcn.14000f4b0
mov rax, qword [rbx + 0xc8]
movzx esi, byte [rax]
movzx eax, byte [rax + 1]
shl rsi, 8
or rsi, rax
cmp dword [rbx + 0xc], r14d
je 0x14001e4da
mov rsi, qword [rbx + 0x120]
jmp 0x14001e54f
lea rax, str.bad_client_hello_message
mov r9d, 0x3d9
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r15d
mov rcx, rbx
call fcn.1400196f0
mov eax, 0xffff9a00
jmp 0x14001f780
mov rcx, rbx
cmp rsi, 0x4000
jbe 0x14001e50d
lea rax, str.bad_client_hello_message
mov r9d, 0x3fc
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.1400196f0
mov eax, 0xffff9a00
jmp 0x14001f780
mov rax, qword [rbx]
cmp byte [rax + 9], r15b
cmovne rbp, r13
lea rdx, [rsi + rbp]
call fcn.14000d340
mov edi, eax
test eax, eax
je 0x14001e532
mov r9d, 0x403
jmp 0x14001e45f
mov rax, qword [rbx]
cmp byte [rax + 9], r15b
jne 0x14001e548
lea rax, [rsi + 0xd]
mov qword [rbx + 0x108], rax
jmp 0x14001e54f
mov qword [rbx + 0xf8], r14
mov rbp, qword [rbx + 0xd8]
lea rax, str.record_contents
mov qword [rsp + 0x30], rsi
mov r13d, 4
mov qword [rsp + 0x28], rbp
mov edx, r13d
mov r9d, 0x412
mov qword [rsp + 0x20], rax
mov r8, r12
mov rcx, rbx
call fcn.1400198c0
mov rax, qword [rbx + 0x70]
mov r8, rsi
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x20]
mov rax, qword [rbx]
mov r14d, recv
mov ecx, r14d
mov r8, r12
cmp byte [rax + 9], r15b
cmovne ecx, r13d
cmp rsi, rcx
mov rcx, rbx
jae 0x14001e5d9
lea rax, str.bad_client_hello_message
mov r9d, 0x420
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov eax, 0xffff8d00
jmp 0x14001f780
movzx eax, byte [rbp]
mov r9d, 0x424
mov dword [rsp + 0x28], eax
mov edx, 3
lea rax, str.client_hello_v3__handshake_type:__d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov r8, r12
mov rcx, rbx
cmp byte [rbp], r15b
je 0x14001e614
mov r9d, 0x428
jmp 0x14001f767
movzx eax, byte [rbp + 2]
mov r9d, 0x42e
movzx edi, byte [rbp + 1]
mov edx, 3
shl rdi, 8
or rdi, rax
movzx eax, byte [rbp + 3]
shl rdi, 8
or rdi, rax
lea rax, str.client_hello_v3__handshake_len.:__u
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.1400196f0
movzx eax, byte [rbp + 1]
test al, al
je 0x14001e684
mov dword [rsp + 0x28], eax
mov r9d, 0x435
lea rax, str.bad_client_hello_message:__u___0
mov r8, r12
mov edx, r15d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400196f0
mov eax, 0xffff8d00
jmp 0x14001f780
mov rax, qword [rbx]
movzx ecx, byte [rax + 9]
mov rax, r14
cmp cl, r15b
cmovne rax, r13
add rax, rdi
cmp rsi, rax
je 0x14001e6db
cmp cl, r15b
mov dword [rsp + 0x38], edi
lea rax, str.bad_client_hello_message:__u____u___u
mov r9d, 0x43f
cmovne r14d, r13d
mov r8, r12
mov dword [rsp + 0x30], r14d
mov edx, r15d
mov dword [rsp + 0x28], esi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov eax, 0xffff8d00
jmp 0x14001f780
cmp cl, r15b
jne 0x14001e831
mov rax, qword [rbx + 0xd8]
mov rdx, qword [rbx + 0x70]
movzx ecx, byte [rax + 4]
movzx eax, byte [rax + 5]
shl ecx, 8
or ecx, eax
cmp dword [rbx + 0xc], r15d
jne 0x14001e748
mov eax, dword [rdx + 0x400]
cmp ecx, eax
je 0x14001e73e
mov dword [rsp + 0x30], eax
mov r9d, 0x456
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, r12
mov edx, r15d
call fcn.1400196f0
mov eax, 0xffff8d00
jmp 0x14001f780
inc eax
mov dword [rdx + 0x400], eax
jmp 0x14001e75a
mov dword [rdx + 0x3fc], ecx
inc ecx
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x400], ecx
mov rcx, qword [rbx + 0xd8]
lea r13, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_server.c
mov r9d, 0x470
mov r8, r13
mov edx, 4
movzx eax, byte [rcx + 7]
movzx edi, byte [rcx + 6]
movzx r15d, byte [rcx + 9]
movzx r12d, byte [rcx + 1]
shl rdi, 8
or rdi, rax
shl r15, 8
movzx eax, byte [rcx + 8]
shl r12, 8
shl rdi, 8
or rdi, rax
movzx eax, byte [rcx + 0xa]
or r15, rax
movzx eax, byte [rcx + 0xb]
shl r15, 8
or r15, rax
movzx eax, byte [rcx + 2]
or r12, rax
movzx eax, byte [rcx + 3]
shl r12, 8
mov rcx, rbx
or r12, rax
lea rax, str.fragment_offset_u_fragment_length_u_length_u
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.1400196f0
test rdi, rdi
jne 0x14001e7f2
cmp r12, r15
je 0x14001e81e
lea rax, str.ClientHello_fragmentation_not_supported
mov r9d, 0x473
mov r8, r13
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1400196f0
mov eax, 0xffff8f80
jmp 0x14001f780
lea r12, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_server.c
mov r15d, 1
mov r13d, 4
mov rax, qword [rbx]
mov r8, r12
mov rcx, rbx
cmp byte [rax + 9], 1
cmovne r14, r13
add rbp, r14
sub rsi, r14
cmp rsi, 0x26
jae 0x14001e872
lea rax, str.bad_client_hello_message
mov r9d, 0x494
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov eax, 0xffff8d00
jmp 0x14001f780
mov qword [rsp + 0x30], 2
lea rax, str.client_hello__version
mov qword [rsp + 0x28], rbp
mov r9d, 0x49b
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400198c0
mov rax, qword [rbx]
mov rcx, rbp
movzx edx, byte [rax + 9]
call fcn.140012bf0
movzx edx, ax
mov r8, r12
mov rax, qword [rbx + 0x68]
mov rcx, rbx
mov dword [rbx + 0x14], edx
mov dword [rax + 4], edx
cmp dword [rbx + 0x14], 0x303
je 0x14001e8f8
lea rax, str.server_only_supports_TLS_1.2
mov r9d, 0x4a2
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov r8b, 0x46
mov dl, 2
mov rcx, rbx
call fcn.140011720
mov eax, 0xffff9180
jmp 0x14001f780
mov qword [rsp + 0x30], 0x20
lea rax, str.client_hello__random_bytes
lea rdi, [rbp + 2]
mov r9d, 0x4ab
mov qword [rsp + 0x28], rdi
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400198c0
mov rax, qword [rbx + 0x70]
movups xmm0, xmmword [rdi]
movups xmmword [rax + 0x5d8], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x5e8], xmm1
movzx r14d, byte [rbp + 0x22]
cmp r14, 0x20
ja 0x14001f74d
lea rax, [r14 + 0x24]
cmp rax, rsi
ja 0x14001f74d
mov qword [rsp + 0x30], r14
lea rax, str.client_hello__session_id
lea rdi, [rbp + 0x23]
mov r9d, 0x4bd
mov qword [rsp + 0x28], rdi
mov r8, r12
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400198c0
mov rax, qword [rbx + 0x68]
xorps xmm0, xmm0
mov rdx, rdi
mov qword [rax + 0x18], r14
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 fcn.140080780
mov rax, qword [rbx]
lea rcx, [r14 + 0x23]
cmp byte [rax + 9], 1
jne 0x14001eb1f
movzx edi, byte [rcx + rbp]
lea rdx, [rcx + rbp]
mov r8, r12
lea r14, [rdi + rcx]
mov rcx, rbx
lea rax, [r14 + 3]
cmp rax, rsi
jbe 0x14001ea13
mov r9d, 0x4d0
lea rax, str.bad_client_hello_message
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov rcx, rbx
mov dl, 2
mov r8b, gethostbyname
call fcn.140011720
mov eax, 0xffff8d00
jmp 0x14001f780
lea r13, [rdx + 1]
mov qword [rsp + 0x30], rdi
lea rax, str.client_hello__cookie
mov qword [rsp + 0x28], r13
mov r9d, 0x4d7
mov qword [rsp + 0x20], rax
mov edx, 3
call fcn.1400198c0
mov rcx, qword [rbx]
mov r10, qword [rcx + 0x90]
test r10, r10
je 0x14001ead0
cmp dword [rbx + 0xc], 0
jne 0x14001ead0
mov rax, qword [rbx + 0x1b0]
mov r8, rdi
mov r9, qword [rbx + 0x1a8]
mov rdx, r13
mov rcx, qword [rcx + 0x98]
mov qword [rsp + 0x20], rax
call r10
mov r8, r12
mov edx, 2
mov rcx, rbx
test eax, eax
je 0x14001eaac
lea rax, str.cookie_verification_failed
mov r9d, 0x4e4
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x3f8], 1
jmp 0x14001eb1b
lea rax, str.cookie_verification_passed
mov r9d, 0x4e9
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x3f8], 0
jmp 0x14001eb1b
mov r8, r12
mov rcx, rbx
test rdi, rdi
je 0x14001eaff
lea rax, str.bad_client_hello_message
mov r9d, 0x4f4
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov eax, 0xffff8d00
jmp 0x14001f780
lea rax, str.cookie_verification_skipped
mov r9d, 0x4f8
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1400196f0
lea rcx, [r14 + 1]
movzx eax, byte [rcx + rbp]
movzx r13d, byte [rcx + rbp + 1]
shl rax, 8
or r13, rax
mov qword [rsp + 0x50], r13
cmp r13, 2
jb 0x14001f73c
lea rdi, [rcx + r13]
lea rax, [rdi + 3]
cmp rax, rsi
ja 0x14001f73c
test r13b, 1
jne 0x14001f73c
lea rax, [rcx + 2]
mov qword [rsp + 0x30], r13
add rax, rbp
mov r9d, 0x512
mov qword [rsp + 0x28], rax
mov r8, r12
mov qword [rsp + 0xc8], rax
mov edx, 3
lea rax, str.client_hello__ciphersuitelist
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400198c0
movzx ecx, byte [rdi + rbp + 2]
lea rdx, [rdi + rbp]
lea rax, [rcx - 1]
cmp rax, 0xf
ja 0x14001f72b
add rdi, 3
add rdi, rcx
cmp rdi, rsi
ja 0x14001f72b
lea rax, [rdx + 3]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov r9d, 0x526
lea rax, str.client_hello__compression
mov r8, r12
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400198c0
mov rax, qword [rbx + 0x68]
xor ecx, ecx
mov dword [rax + 0x14], ecx
mov rax, qword [rbx]
cmp byte [rax + 9], 1
jne 0x14001ec05
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x14], ecx
cmp rsi, rdi
jbe 0x14001ec5a
lea rax, [rdi + 2]
cmp rsi, rax
jae 0x14001ec24
mov r9d, 0x536
mov r8, r12
mov rcx, rbx
jmp 0x14001e9e8
movzx eax, byte [rdi + rbp + 1]
lea rcx, [rdi + rbp]
movzx ebp, byte [rdi + rbp]
shl rbp, 8
or rbp, rax
mov qword [rsp + 0x40], rbp
lea rax, [rbp + 2]
add rax, rdi
cmp rsi, rax
je 0x14001ec68
mov r9d, 0x541
mov r8, r12
mov rcx, rbx
jmp 0x14001e9e8
mov qword [rsp + 0x40], rcx
lea rcx, [rdi + rbp]
mov rbp, qword [rsp + 0x40]
lea r14, [rcx + 2]
mov qword [rsp + 0x30], rbp
lea rax, str.client_hello_extensions
mov qword [rsp + 0x28], r14
mov r9d, 0x54b
mov qword [rsp + 0x20], rax
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.1400198c0
test rbp, rbp
je 0x14001f20d
lea r11, [0x1400bf128]
lea r10, [0x1400bf150]
lea r9, str.unknown_extension_found:__u__ignoring_
lea r8, [0x1400bf100]
cmp rbp, 4
jb 0x14001f3c6
movzx esi, byte [r14 + 2]
movzx ebp, byte [r14 + 3]
mov edi, esi
movzx ecx, byte [r14]
movzx eax, byte [r14 + 1]
shl edi, 8
or edi, ebp
shl ecx, 8
or ecx, eax
lea edx, [rdi + 4]
mov qword [rsp + 0x58], rdx
cmp rdx, qword [rsp + 0x40]
ja 0x14001f3b5
cmp ecx, 0x10
ja 0x14001efe4
je 0x14001ef9f
mov eax, ecx
test ecx, ecx
je 0x14001ef5a
sub eax, 1
je 0x14001ef1d
sub eax, 9
je 0x14001ee25
sub eax, 1
je 0x14001ed81
cmp eax, 2
jne 0x14001f008
lea rax, str.found_signature_algorithms_extension
mov r9d, 0x57a
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
mov r8d, edi
lea rdx, [r14 + 4]
add r8, 4
mov rcx, rbx
add r8, r14
call fcn.140007740
test eax, eax
jne 0x14001f780
mov ecx, r15d
mov dword [rsp + 0xb8], ecx
jmp 0x14001f1e5
lea rax, [0x1400bf0d8]
mov r9d, 0x58f
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
mov rax, qword [rbx + 0x70]
mov ecx, edi
or byte [rax + 1], 1
test edi, edi
je 0x14001f258
movzx edx, byte [r14 + 4]
lea rax, [rdx + 1]
cmp rax, rcx
jne 0x14001f258
lea rcx, [r14 + 5]
test rdx, rdx
je 0x14001f1de
movzx r8d, byte [rcx]
cmp r8b, 2
jb 0x14001edec
inc rcx
sub rdx, 1
jne 0x14001edd4
jmp 0x14001f1de
mov rax, qword [rbx + 0x70]
mov r9d, 0x118
mov edx, 4
mov byte [rax + 0x168], r8b
mov r8, r12
movzx eax, byte [rcx]
mov rcx, rbx
mov dword [rsp + 0x28], eax
lea rax, str.point_format_selected:__d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
jmp 0x14001f1de
lea rax, str.found_supported_elliptic_curves_extension
mov r9d, 0x587
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
mov ecx, edi
cmp rcx, 2
jb 0x14001f2bd
movzx eax, byte [r14 + 4]
movzx edi, byte [r14 + 5]
shl rax, 8
or rdi, rax
lea rax, [rdi + 2]
cmp rax, rcx
jne 0x14001f2b5
test dil, 1
jne 0x14001f2b5
mov rax, qword [rbx + 0x70]
cmp qword [rax + 0x330], 0
jne 0x14001f27c
mov eax, reloc.WS2_32.dll_ntohl
mov rsi, rdi
shr rsi, 1
inc rsi
cmp rsi, 0xe
lea edx, [rax - 6]
cmova rsi, rax
mov rcx, rsi
call fcn.140087e2c
mov r9, rax
test rax, rax
je 0x14001f263
mov rax, qword [rbx + 0x70]
lea r8, [r14 + 6]
mov qword [rax + 0x330], r9
test rdi, rdi
je 0x14001f1de
cmp rsi, 1
jbe 0x14001f1de
movzx eax, byte [r8]
lea rcx, [0x1400a78c0]
movzx edx, byte [r8 + 1]
shl ax, 8
or dx, ax
cmp word [rcx + 4], dx
je 0x14001ef04
add rcx, 0x10
cmp dword [rcx], 0
jne 0x14001eef3
jmp 0x14001ef0e
mov qword [r9], rcx
add r9, 8
dec rsi
add r8, 2
sub rdi, 2
jne 0x14001eed2
jmp 0x14001f1de
mov qword [rsp + 0x20], r8
mov r9d, 0x5a5
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
cmp edi, 1
jne 0x14001f2f6
movzx ecx, byte [r14 + 4]
cmp cl, 5
jae 0x14001f2f6
mov rax, qword [rbx + 0x68]
mov byte [rax], cl
jmp 0x14001f1de
lea rax, str.found_ServerName_extension
mov r9d, 0x565
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
mov r8d, edi
lea rdx, [r14 + 4]
add r8, 4
mov rcx, rbx
add r8, r14
call fcn.14000b460
test eax, eax
jne 0x14001f780
jmp 0x14001f1de
lea rax, str.found_alpn_extension
mov r9d, 0x5d7
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
mov r8d, edi
lea rdx, [r14 + 4]
add r8, 4
mov rcx, rbx
add r8, r14
call fcn.14000b730
test eax, eax
jne 0x14001f780
jmp 0x14001f1de
mov eax, ecx
sub eax, 0x16
je 0x14001f1a7
sub eax, 1
je 0x14001f163
sub eax, 0xc
je 0x14001f121
cmp eax, 0xfede
je 0x14001f02c
mov dword [rsp + 0x28], ecx
mov r8, r12
mov qword [rsp + 0x20], r9
mov edx, 3
mov r9d, 0x5ec
mov rcx, rbx
call fcn.1400196f0
jmp 0x14001f1de
lea rax, str.found_renegotiation_extension
mov r9d, 0x56e
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
cmp dword [rbx + 0xc], 0
mov esi, r15d
mov dword [rsp + 0xc0], r15d
mov edx, edi
je 0x14001f0f9
mov rcx, qword [rbx + 0x1c0]
lea rax, [rcx + 1]
cmp rdx, rax
jne 0x14001f32d
movzx eax, byte [r14 + 4]
cmp rax, rcx
jne 0x14001f32d
cmp qword [rbx + 0x1c0], 0
lea r8, [r14 + 5]
lea r9, [rbx + 0x1d4]
mov byte [rsp + 0xb0], 0
jbe 0x14001f0dd
mov rdx, r9
sub r8, r9
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
movzx ecx, byte [rdx]
inc rdx
xor cl, al
movzx eax, byte [rsp + 0xb0]
or cl, al
mov rax, rdx
sub rax, r9
mov byte [rsp + 0xb0], cl
cmp rax, qword [rbx + 0x1c0]
jb 0x14001f0b0
movzx eax, byte [rsp + 0xb0]
test al, al
jne 0x14001f32d
mov ecx, dword [rsp + 0xb8]
jmp 0x14001f1ec
cmp rdx, 1
jne 0x14001f33c
cmp byte [r14 + 4], 0
jne 0x14001f33c
mov ecx, dword [rsp + 0xb8]
mov dword [rbx + 0x1b8], r15d
jmp 0x14001f1ec
lea rax, [0x1400bf178]
mov r9d, 0x5cd
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
mov r8, rsi
lea rdx, [r14 + 4]
shl r8, 8
mov rcx, rbx
or r8, rbp
call fcn.14001db00
test eax, eax
jne 0x14001f780
jmp 0x14001f1de
mov r9d, 0x5c3
mov qword [rsp + 0x20], r10
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
test edi, edi
jne 0x14001f373
mov rax, qword [rbx]
mov esi, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xb8]
cmp byte [rax + 0xe], 1
jne 0x14001f1ec
mov rax, qword [rbx + 0x70]
mov byte [rax + 0xc], 1
jmp 0x14001f1ec
mov r9d, 0x5b9
mov qword [rsp + 0x20], r11
mov r8, r12
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
test edi, edi
jne 0x14001f37b
mov rax, qword [rbx]
cmp byte [rax + 0xd], 1
jne 0x14001f1de
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x94], r15d
mov ecx, dword [rsp + 0xb8]
mov esi, dword [rsp + 0xc0]
mov rbp, qword [rsp + 0x40]
sub rbp, qword [rsp + 0x58]
add r14, qword [rsp + 0x58]
mov qword [rsp + 0x40], rbp
test rbp, rbp
jne 0x14001eca1
test ecx, ecx
jne 0x14001f225
mov rax, qword [rbx + 0x70]
xor ecx, ecx
mov esi, dword [rsp + 0xc0]
mov dword [rax + 0x40], 0x2010203
mov word [rax + 0x44], cx
mov rdi, qword [rsp + 0xc8]
mov rcx, rdi
mov rax, rcx
sub rax, rdi
cmp byte [rcx], 0
jne 0x14001f246
cmp byte [rax + rdi + 1], 0xff
je 0x14001f3d7
add rcx, 2
add rax, 2
cmp rax, r13
jb 0x14001f236
jmp 0x14001f418
mov r9d, 0x102
jmp 0x14001f381
mov r8b, 0x50
mov dl, 2
mov rcx, rbx
mov edi, 0xffff8100
call fcn.140011720
mov eax, edi
jmp 0x14001f780
lea rax, str.bad_client_hello_message
mov r9d, 0xd1
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r15d
mov rcx, rbx
call fcn.1400196f0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
mov edi, 0xffff9a00
call fcn.140011720
mov eax, edi
jmp 0x14001f780
mov r9d, 0xc8
jmp 0x14001f2c3
mov r9d, 0xbf
lea rax, str.bad_client_hello_message
mov r8, r12
mov edx, r15d
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400196f0
mov r8b, gethostbyname
mov dl, 2
mov rcx, rbx
mov edi, 0xffff8d00
call fcn.140011720
mov eax, edi
jmp 0x14001f780
lea rax, str.bad_client_hello_message
mov r9d, 0x14b
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, r15d
mov rcx, rbx
call fcn.1400196f0
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.140011720
mov eax, 0xffff9a00
jmp 0x14001f780
mov r9d, 0x75
lea rax, str.non_matching_renegotiation_info
jmp 0x14001f349
mov r9d, 0x80
lea rax, str.non_zero_length_renegotiation_info
mov edx, r15d
mov r8, r12
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400196f0
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.140011720
mov eax, 0xffff9200
jmp 0x14001f780
mov r9d, 0x1c1
jmp 0x14001f381
mov r9d, 0x1a8
lea rax, str.bad_client_hello_message
mov r8, r12
mov edx, r15d
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdi, rbx
call fcn.1400196f0
mov rcx, rbx
mov dl, 2
mov r8b, gethostbyname
call fcn.140011720
mov eax, 0xffff8d00
jmp 0x14001f780
mov r9d, 0x55c
mov r8, r12
mov rcx, rbx
jmp 0x14001e9e8
mov r9d, 0x552
mov r8, r12
mov rcx, rbx
jmp 0x14001e9e8
lea rax, str.received_TLS_EMPTY_RENEGOTIATION_INFO
mov r9d, 0x619
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400196f0
cmp dword [rbx + 0xc], 1
jne 0x14001f411
lea rax, str.received_RENEGOTIATION_SCSV_during_renegotiation
mov r9d, 0x61e
jmp 0x14001f349
mov dword [rbx + 0x1b8], r15d
mov ecx, dword [rbx + 0x1b8]
cmp ecx, 1
je 0x14001f43e
mov rax, qword [rbx]
cmp byte [rax + 0xb], 2
jne 0x14001f43e
mov r9d, 0x62f
lea rax, str.legacy_renegotiation__breaking_off_handshake
jmp 0x14001f349
cmp dword [rbx + 0xc], 1
jne 0x14001f494
cmp ecx, 1
jne 0x14001f45f
test esi, esi
jne 0x14001f494
mov r9d, 0x637
lea rax, str.renegotiation_info_extension_missing__secure_
jmp 0x14001f349
test ecx, ecx
jne 0x14001f494
mov rax, qword [rbx]
cmp byte [rax + 0xb], cl
jne 0x14001f47d
mov r9d, 0x63e
lea rax, str.legacy_renegotiation_not_allowed
jmp 0x14001f349
cmp esi, 1
jne 0x14001f494
mov r9d, 0x645
lea rax, str.renegotiation_info_extension_present__legacy_
jmp 0x14001f349
mov rax, qword [rbx]
mov rdx, qword [rax + 0x178]
test rdx, rdx
je 0x14001f4c8
mov rcx, rbx
call rdx
mov edi, eax
test eax, eax
je 0x14001f4c0
lea rax, str.f_cert_cb
mov r9d, 0x656
jmp 0x14001e466
mov rdi, qword [rsp + 0xc8]
mov rax, qword [rbx + 0x70]
xor ecx, ecx
mov r15d, ecx
mov qword [rsp + 0x48], rcx
mov qword [rax + 0xa40], rcx
mov rax, qword [rbx + 0x70]
mov qword [rax + 0xa48], rcx
mov rax, qword [rbx]
cmp byte [rax + 0x13], 1
mov r13, qword [rax + 0x18]
jne 0x14001f581
mov rax, qword [rsp + 0x50]
mov esi, ecx
mov edx, dword [r13]
mov rbp, rcx
test edx, edx
je 0x14001f567
nop dword [rax + rax]
movzx eax, byte [rdi]
movzx ecx, byte [rdi + 1]
shl eax, 8
or ecx, eax
cmp ecx, edx
jne 0x14001f554
mov r14d, 1
lea r8, [rsp + 0x48]
mov rcx, rbx
mov r15d, r14d
call fcn.14001e080
test eax, eax
jne 0x14001f780
mov rdi, qword [rsp + 0x48]
test rdi, rdi
jne 0x14001f615
mov rdi, qword [rsp + 0xc8]
mov edx, dword [r13 + rbp*4 + 4]
inc rbp
test edx, edx
jne 0x14001f510
mov rax, qword [rsp + 0x50]
xor ecx, ecx
add rdi, 2
add rsi, 2
mov qword [rsp + 0xc8], rdi
cmp rsi, rax
jb 0x14001f500
jmp 0x14001f6f8
mov rbp, rcx
cmp dword [r13], ecx
je 0x14001f714
mov r12, r13
mov r14, rdi
mov rsi, rcx
nop word [rax + rax]
movzx eax, byte [r14]
movzx ecx, byte [rsi + rdi + 1]
mov edx, dword [r12]
shl eax, 8
or ecx, eax
cmp ecx, edx
jne 0x14001f5e3
lea r8, [rsp + 0x48]
mov rcx, rbx
mov r15d, 1
call fcn.14001e080
test eax, eax
jne 0x14001f780
mov rdi, qword [rsp + 0x48]
test rdi, rdi
jne 0x14001f608
mov rdi, qword [rsp + 0xc8]
add r14, 2
add rsi, 2
cmp rsi, qword [rsp + 0x50]
jb 0x14001f5a0
add r12, 4
inc rbp
cmp dword [r12], 0
je 0x14001f6f1
xor ecx, ecx
jmp 0x14001f591
lea r12, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_server.c
mov r14d, 1
mov rax, qword [rdi + 8]
mov r9d, 0x69c
mov qword [rsp + 0x28], rax
mov r8, r12
lea rax, str.selected_ciphersuite:__s
mov edx, 2
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov eax, dword [r13 + rbp*4]
mov rcx, qword [rbx + 0x68]
mov dword [rcx + 0x10], eax
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x18], rdi
mov rax, qword [rbx]
inc dword [rbx + 8]
cmp byte [rax + 9], 1
jne 0x14001f668
mov rcx, rbx
call fcn.14000e3e0
movzx ecx, byte [rdi + 0x12]
sub ecx, 2
je 0x14001f692
sub ecx, 1
je 0x14001f692
cmp ecx, 1
je 0x14001f68c
mov r10d, 0x6b6
lea r11, str.no_hash_algorithm_for_signature_algorithm__u___should_not_happen
xor ecx, ecx
jmp 0x14001f6ac
mov r14d, 3
mov edx, r14d
lea r11, str.client_hello_v3__signature_algorithm_ext:__u
mov rcx, rbx
mov r10d, 0x6b1
call fcn.14000b1b0
mov ecx, eax
mov dword [rsp + 0x28], ecx
mov r9d, r10d
mov rcx, rbx
mov qword [rsp + 0x20], r11
mov r8, r12
mov edx, 3
call fcn.1400196f0
lea rax, str.__parse_client_hello
mov r9d, 0x6ba
mov r8, r12
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1400196f0
xor eax, eax
jmp 0x14001f780
lea r12, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_server.c
test r15d, r15d
je 0x14001f714
lea rax, str.got_ciphersuites_in_common__but_none_of_them_usable
mov r9d, 0x68e
mov edx, 1
jmp 0x14001f34c
lea rax, str.got_no_ciphersuites_in_common
mov r9d, 0x695
mov edx, 1
jmp 0x14001f34c
mov r9d, 0x51f
mov r8, r12
mov rcx, rbx
jmp 0x14001e9e8
mov r9d, 0x50b
mov r8, r12
mov rcx, rbx
jmp 0x14001e9e8
mov r9d, 0x4b7
mov r8, r12
mov rcx, rbx
jmp 0x14001e9e8
mov r9d, 0x3c3
mov rcx, rbx
lea rax, str.bad_client_hello_message
mov edx, r15d
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov eax, 0xffff8900
mov rdi, qword [rsp + 0x68]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret