Function at 0x14002d540
Capabilities:
Hash data using sha256
Hash data using sha384

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x40
mov rax, qword [rcx]
lea r8, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_client.c
mov rbx, rcx
mov edi, recv
mov ecx, 4
mov r9d, 0x46c
cmp byte [rax + 9], 1
lea rax, [0x1400c01d8]
mov qword [rsp + 0x20], rax
cmovne edi, ecx
lea edx, [rcx - 2]
add rdi, qword [rbx + 0xd8]
mov rcx, rbx
call fcn.1400196f0
mov rax, qword [rbx]
lea r8, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_client.c
mov ecx, reloc.WS2_32.dll_ntohs
mov edx, 7
cmp byte [rax + 9], 1
cmovne ecx, edx
cmp rcx, qword [rbx + 0xf0]
mov rcx, rbx
jbe 0x14002d5ec
lea rax, str.incoming_HelloVerifyRequest_message_is_too_short
mov r9d, 0x475
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov r8b, gethostbyname
mov dl, 2
mov rcx, rbx
call fcn.140011720
mov eax, 0xffff8d00
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov qword [rsp + 0x30], 2
lea rax, str.server_version
mov qword [rsp + 0x28], rdi
mov r9d, 0x481
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400198c0
movzx ecx, byte [rdi]
lea r8, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_client.c
movzx eax, byte [rdi + 1]
shl cx, 8
or cx, ax
mov eax, 0x103
add cx, ax
mov eax, 0xfffd
test ax, cx
mov rcx, rbx
je 0x14002d679
lea rax, str.bad_server_version
mov r9d, 0x48c
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov r8b, 0x46
mov dl, 2
mov rcx, rbx
call fcn.140011720
mov eax, 0xffff9180
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov rax, qword [rbx + 0xd8]
mov qword [rsp + 0x50], rbp
movzx ebp, byte [rdi + 2]
add rdi, 3
sub rax, rdi
mov qword [rsp + 0x58], rsi
add rax, qword [rbx + 0xf0]
cmp rax, rbp
jge 0x14002d6d4
lea rax, str.cookie_length_does_not_match_incoming_message_size
mov r9d, 0x498
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400196f0
mov r8b, gethostbyname
mov dl, 2
mov rcx, rbx
call fcn.140011720
mov eax, 0xffff8d00
jmp 0x14002d89f
mov qword [rsp + 0x30], rbp
lea rax, str.cookie
mov qword [rsp + 0x28], rdi
mov r9d, 0x49d
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400198c0
mov rcx, qword [rbx + 0x70]
mov rcx, qword [rcx + 0x3f0]
call fcn.140081438
mov rdx, rbp
mov ecx, 1
call fcn.140087e2c
mov rcx, qword [rbx + 0x70]
mov qword [rcx + 0x3f0], rax
mov rax, qword [rbx + 0x70]
mov rcx, qword [rax + 0x3f0]
test rcx, rcx
jne 0x14002d764
lea rax, str.alloc_failed___d_bytes_
mov dword [rsp + 0x28], ebp
lea edx, [rcx + 1]
mov qword [rsp + 0x20], rax
mov rcx, rbx
lea r8, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_client.c
mov r9d, 0x4a4
call fcn.1400196f0
mov eax, 0xffff8100
jmp 0x14002d89f
mov r8, rbp
mov rdx, rdi
call fcn.140080780
mov rax, qword [rbx + 0x70]
xor ecx, ecx
mov byte [rax + 0x3f8], bpl
mov rax, qword [rbx + 0x70]
mov dword [rbx + 8], 1
add rax, 0x43c
mov qword [rax], rcx
mov dword [rax + 0x68], ecx
mov dword [rax + 8], 0x6a09e667
mov dword [rax + 0xc], 0xbb67ae85
mov dword [rax + 0x10], 0x3c6ef372
mov dword [rax + 0x14], 0xa54ff53a
mov dword [rax + 0x18], 0x510e527f
mov dword [rax + 0x1c], 0x9b05688c
mov dword [rax + 0x20], 0x1f83d9ab
mov dword [rax + 0x24], 0x5be0cd19
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x4a8], rcx
mov qword [rax + 0x4b0], rcx
movabs rcx, 0xcbbb9d5dc1059ed8
mov qword [rax + 0x4b8], rcx
movabs rcx, 0x629a292a367cd507
mov qword [rax + 0x4c0], rcx
movabs rcx, 0x9159015a3070dd17
mov qword [rax + 0x4c8], rcx
movabs rcx, 0x152fecd8f70e5939
mov qword [rax + 0x4d0], rcx
movabs rcx, 0x67332667ffc00b31
mov qword [rax + 0x4d8], rcx
movabs rcx, 0x8eb44a8768581511
mov qword [rax + 0x4e0], rcx
movabs rcx, 0xdb0c2e0d64f98fa7
mov qword [rax + 0x4e8], rcx
movabs rcx, 0x47b5481dbefa4fa4
mov qword [rax + 0x4f0], rcx
mov rcx, rbx
mov dword [rax + 0x578], 1
call fcn.14000e3e0
lea rax, str.__parse_hello_verify_request
mov r9d, 0x4b1
lea r8, str.E:mbedtls_3.2.1mbedtls_3.2.1library_ssl_tls12_client.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1400196f0
xor eax, eax
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret