Function at 0x140c9dca0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r15
sub rsp, 0x40
mov rbx, qword [rsp + 0x80]
lea rax, str.check_cookie:_in_len_u
mov rdi, r9
mov dword [rsp + 0x28], ebx
mov r15, r8
mov qword [rsp + 0x20], rax
mov r12, rdx
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
mov r9d, 0xc6f
mov edx, 4
mov rsi, rcx
call fcn.140caf730
lea rax, str.cli_id
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r12
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
mov r9d, 0xc70
mov qword [rsp + 0x20], rax
mov edx, 4
mov rcx, rsi
call fcn.140caeeb0
cmp rbx, 0x3d
jae 0x140c9dd54
lea rax, str.check_cookie:_record_too_short
mov r9d, 0xc72
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
mov qword [rsp + 0x20], rax
mov edx, 4
mov rcx, rsi
call fcn.140caf730
mov eax, 0xffff8700
jmp 0x140c9de5a
cmp byte [rdi], 0x16
jne 0x140c9dfcc
cmp byte [rdi + 3], 0
jne 0x140c9dfcc
cmp byte [rdi + 4], 0
jne 0x140c9dfcc
cmp byte [rdi + 0x13], 0
jne 0x140c9dfcc
cmp byte [rdi + 0x14], 0
jne 0x140c9dfcc
cmp byte [rdi + 0x15], 0
jne 0x140c9dfcc
mov qword [rsp + 0x68], r14
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
movzx r14d, byte [rdi + 0x3b]
mov edx, 4
mov rcx, rsi
lea rax, [r14 + 0x3d]
cmp rax, rbx
jbe 0x140c9dddb
lea eax, [rbx - 0x3d]
mov r9d, 0xc84
mov dword [rsp + 0x30], eax
lea rax, str.check_cookie:_sid_len_u____u
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call fcn.140caf730
mov eax, 0xffff8700
jmp 0x140c9de55
lea rax, [rdi + 0x3c]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], rax
mov r9d, 0xc88
lea rax, str.sid_received_from_network
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x20], rax
call fcn.140caeeb0
movzx ebp, byte [r14 + rdi + 0x3c]
lea rax, [r14 + 0x3d]
add rax, rbp
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
mov edx, 4
mov rcx, rsi
cmp rax, rbx
jbe 0x140c9de6e
sub ebx, r14d
lea rax, str.check_cookie:_cookie_len_u____u
sub ebx, 0x3d
mov r9d, 0xc8e
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rax
call fcn.140caf730
mov eax, 0xffff8700
mov rbp, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r12
pop rdi
ret
mov qword [rsp + 0x30], rbp
lea rax, str.cookie_received_from_network
lea rbx, [rdi + 0x3d]
mov r9d, 0xc93
add rbx, r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.140caeeb0
mov rax, qword [rsi]
mov r9, r12
mov r8, rbp
mov qword [rsp + 0x20], r15
mov rdx, rbx
mov rcx, qword [rax + 0xd0]
call qword [rax + 0xc8]
test eax, eax
jne 0x140c9dee5
lea rax, str.check_cookie:_valid
mov r9d, 0xc97
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
mov qword [rsp + 0x20], rax
mov edx, 4
mov rcx, rsi
call fcn.140caf730
xor eax, eax
jmp 0x140c9de50
mov rcx, qword [rsp + 0x90]
cmp rcx, 0x1c
jae 0x140c9defd
mov eax, 0xffff9600
jmp 0x140c9de50
mov rbx, qword [rsp + 0x88]
lea rdx, [rsp + 0x80]
movups xmm0, xmmword [rdi]
mov r9, r12
mov qword [rsp + 0x20], r15
movups xmmword [rbx], xmm0
lea r8, [rbx + rcx]
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
movzx eax, byte [rdi + 0x18]
mov byte [rbx + 0x18], al
lea rax, [rbx + 0x1c]
mov qword [rsp + 0x80], rax
mov byte [rbx + 0xd], 3
mov word [rbx + 0x19], 0xfffe
mov rax, qword [rsi]
mov rcx, qword [rax + 0xd0]
call qword [rax + 0xc0]
test eax, eax
je 0x140c9df64
mov eax, 0xffff9400
jmp 0x140c9de50
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x80]
sub rax, rbx
mov qword [rcx], rax
sub al, 0x1c
mov byte [rbx + 0x1b], al
mov rax, qword [rcx]
sub rax, 0x19
shr rax, 0x10
mov byte [rbx + 0x16], al
mov byte [rbx + 0xe], al
mov rax, qword [rcx]
sub rax, 0x19
shr rax, 8
mov byte [rbx + 0x17], al
mov byte [rbx + 0xf], al
movzx eax, byte [rcx]
sub al, 0x19
mov byte [rbx + 0x18], al
mov byte [rbx + 0x10], al
mov rax, qword [rcx]
sub rax, 0xd
shr rax, 8
mov byte [rbx + 0xb], al
movzx eax, byte [rcx]
sub al, 0xd
mov byte [rbx + 0xc], al
mov eax, 0xffff9580
jmp 0x140c9de50
lea rax, str.check_cookie:_not_a_good_ClientHello
mov r9d, 0xc78
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
mov qword [rsp + 0x20], rax
mov edx, 4
mov rcx, rsi
call fcn.140caf730
movzx eax, byte [rdi + 0x13]
lea r8, str.C:_vcpkg_buildtreesmbedtls_src_v2.28.7_a14e236f0b.cleanlibrary_ssl_msg.c
movzx ecx, byte [rdi + 3]
mov r9d, 0xc7c
movzx edx, byte [rdi + 0x14]
shl eax, 0x10
shl edx, 8
or edx, eax
shl ecx, 8
movzx eax, byte [rdi + 0x15]
or edx, eax
movzx eax, byte [rdi + 4]
or ecx, eax
mov dword [rsp + 0x38], edx
movzx eax, byte [rdi]
mov edx, 4
mov dword [rsp + 0x30], ecx
mov rcx, rsi
mov dword [rsp + 0x28], eax
lea rax, str.____type_u_epoch_u_fragment_offset_u
mov qword [rsp + 0x20], rax
call fcn.140caf730
mov eax, 0xffff8700
jmp 0x140c9de5a