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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x30
mov eax, dword [rcx + 8]
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov dword [rsp + 0x28], eax
xor edi, edi
lea rax, str.server_state:__d
mov r9d, 0x1084
mov rbx, rcx
mov qword [rsp + 0x20], rax
lea edx, [rdi + 2]
call fcn.1400b3650
movsxd rdx, dword [rbx + 8]
cmp edx, 0x11
ja case.0x1400acbfb.14
lea r8, [0x140000000]
mov ecx, dword [r8 + rdx*4 + 0xad07c]
add rcx, r8
jmp rcx
mov dword [rbx + 8], 1
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400adae0
mov eax, 0xffff9580
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400b1060
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x14009ee70
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400b1a10
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400b0a20
lea rax, [0x1400e5590]
mov r9d, 0xcc5
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1400b3650
mov rax, qword [rbx + 0x178]
mov qword [rbx + 0x188], 4
mov dword [rbx + 0x180], socket
mov byte [rax], recv
mov rax, qword [rbx]
inc dword [rbx + 8]
cmp byte [rax + 9], 1
jne 0x1400accf7
mov rcx, rbx
call fcn.1400a5bf0
mov edx, 1
mov rcx, rbx
mov r8d, edx
call fcn.1400a6300
mov esi, eax
test eax, eax
je 0x1400acd49
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_ssl_write_handshake_msg
mov r9d, 0xcd4
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3710
mov eax, esi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rax, qword [rbx]
cmp byte [rax + 9], 1
jne 0x1400acd9c
mov rcx, rbx
call fcn.1400a3df0
mov esi, eax
test eax, eax
je 0x1400acd9c
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_ssl_flight_transmit
mov r9d, 0xcdb
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3710
mov eax, esi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
lea rax, str.__write_server_hello_done
mov r9d, 0xce0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1400b3650
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x14009d270
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400af270
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400ad4f0
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400a4890
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x14009d550
mov rax, qword [rbx + 0x70]
mov rcx, rbx
cmp byte [rax + 4], dil
je 0x1400acfb8
lea rax, [0x1400e5850]
mov r9d, 0x104f
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.1400b3650
mov rax, qword [rbx + 0x178]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x48]
mov dword [rbx + 0x180], socket
mov qword [rsp + 0x20], rcx
mov byte [rax], 4
mov r8, qword [rbx + 0x178]
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x68]
lea r9, [r8 + 0x4000]
add r8, 0xa
mov rcx, qword [rax + 0xb0]
call qword [rax + 0xa0]
test eax, eax
je 0x1400acefc
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_ssl_ticket_write
mov r9d, 0x1064
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3710
mov qword [rsp + 0x48], rdi
mov ecx, dword [rsp + 0x40]
mov edx, 1
mov rax, qword [rbx + 0x178]
mov r8d, edx
bswap ecx
mov dword [rax + 4], ecx
movzx ecx, word [rsp + 0x48]
mov rax, qword [rbx + 0x178]
ror cx, 8
mov word [rax + 8], cx
mov rcx, rbx
mov rax, qword [rsp + 0x48]
add rax, 0xa
mov qword [rbx + 0x188], rax
mov rax, qword [rbx + 0x70]
mov byte [rax + 4], dil
call fcn.1400a6300
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov esi, eax
mov rcx, rbx
test eax, eax
je 0x1400acf8a
mov dword [rsp + 0x28], eax
mov r9d, 0x1073
lea rax, str.mbedtls_ssl_write_handshake_msg
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, esi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
lea rax, str.__write_new_session_ticket
mov r9d, 0x1077
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x1400a6230
mov rcx, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
jmp 0x14009f1c0
lea rax, str.handshake:_done
mov r9d, 0x10e0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1400b3650
mov eax, edi
mov dword [rbx + 8], reloc.WS2_32.dll_ntohs
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rcx, rbx
call fcn.14009cc00
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov dword [rsp + 0x28], edx
lea rax, str.invalid_state__d
mov edx, 1
mov qword [rsp + 0x20], rax
mov r9d, 0x10e9
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
call fcn.1400b3650
mov rbx, qword [rsp + 0x50]
mov eax, 0xffff8f00
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
push rbx
push rdi
sub rsp, 0x78
mov rax, qword [0x1400f9b40]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x70]
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov r9d, 0xfb6
mov edx, 2
mov rdi, rcx
mov rbx, qword [rax + 0x10]
lea rax, [0x1400e5768]
mov qword [rsp + 0x20], rax
call fcn.1400b3650
movzx eax, byte [rbx + 0x12]
dec eax
cmp eax, 9
ja case.0x1400ad556.5
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0xad974]
add rcx, rdx
jmp rcx
mov rax, qword [rdi + 0x68]
mov rcx, rdi
cmp qword [rax + 0x70], 0
jne 0x1400ad593
lea rax, str.__skip_parse_certificate_verify
mov r9d, 0xfc0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.1400b3650
inc dword [rdi + 8]
xor eax, eax
jmp 0x1400ad81d
xor edx, edx
call fcn.1400a53c0
mov ebx, eax
test eax, eax
je 0x1400ad5d1
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0xfcf
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1400b3710
mov eax, ebx
jmp 0x1400ad81d
inc dword [rdi + 8]
cmp dword [rdi + 0xf0], 0x16
jne 0x1400ad911
mov rcx, qword [rdi + 0xe0]
cmp byte [rcx], 0xf
jne 0x1400ad911
mov rax, qword [rdi]
mov edx, 4
mov ebx, recv
cmp byte [rax + 9], 1
mov rax, qword [rdi + 0x68]
cmovne ebx, edx
mov rdx, qword [rax + 0x70]
test rdx, rdx
jne 0x1400ad61c
mov eax, 0xffff9400
jmp 0x1400ad81d
lea rax, [rbx + 2]
mov qword [rsp + 0x70], r15
lea r15, [rdx + 0x168]
cmp rax, qword [rdi + 0x128]
jbe 0x1400ad665
lea rax, str.bad_certificate_verify_message
mov r9d, 0xfef
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400ad818
movzx ecx, byte [rbx + rcx]
mov qword [rsp + 0x98], rbp
call fcn.14009cf50
mov ebp, eax
test eax, eax
je 0x1400ad8e1
mov rcx, qword [rdi + 0xe0]
movzx edx, byte [rcx + rbx]
mov rcx, rdi
call fcn.14009e830
test eax, eax
jne 0x1400ad8e1
mov rcx, qword [rdi + 0xe0]
movzx ecx, byte [rcx + rbx + 1]
call fcn.14009de00
test eax, eax
jne 0x1400ad6e0
lea rax, str.peer_not_adhering_to_requested_sig_alg_for_verify_message
mov r9d, 0x100f
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov eax, 0xffff9a00
jmp 0x1400ad810
mov edx, eax
mov rcx, r15
call fcn.140068a10
test eax, eax
jne 0x1400ad71e
lea rax, str.sig_alg_doesnt_match_cert_key
mov r9d, 0x1017
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov eax, 0xffff9a00
jmp 0x1400ad810
mov rcx, qword [rdi + 0x128]
mov qword [rsp + 0xa0], rsi
lea rsi, [rbx + 4]
cmp rsi, rcx
jbe 0x1400ad766
lea rax, str.bad_certificate_verify_message
mov r9d, 0x101e
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400ad808
mov rax, qword [rdi + 0xe0]
mov qword [rsp + 0xa8], r14
movzx r14d, byte [rax + rbx + 2]
movzx eax, byte [rax + rbx + 3]
shl r14, 8
or r14, rax
lea rax, [r14 + rsi]
cmp rax, rcx
mov rcx, rdi
je 0x1400ad7bd
lea rax, str.bad_certificate_verify_message
mov r9d, 0x1026
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400ad800
mov rax, qword [rdi + 0x70]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x38]
call qword [rax + 0x20]
mov ebx, eax
test eax, eax
je 0x1400ad831
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.calc_verify
mov r9d, 0x102f
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov edx, 1
call fcn.1400b3710
mov eax, ebx
mov r14, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
mov r15, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.14009a250
add rsp, 0x78
pop rdi
pop rbx
ret
mov rdx, qword [rdi + 0xe0]
lea rax, [rsp + 0x48]
add rdx, rsi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdx
lea r8, [rsp + 0x38]
cmp ebp, 2
mov edx, ebp
mov rcx, r15
cmove r8, rax
xor r9d, r9d
call fcn.140068ca0
mov ebx, eax
mov rcx, rdi
test eax, eax
je 0x1400ad88e
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_pk_verify
mov r9d, 0x1037
mov qword [rsp + 0x20], rax
jmp 0x1400ad7f4
call fcn.1400a5db0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov ebx, eax
mov rcx, rdi
test eax, eax
je 0x1400ad8be
mov dword [rsp + 0x28], eax
mov r9d, 0x103d
lea rax, str.mbedtls_ssl_update_handshake_status
mov qword [rsp + 0x20], rax
jmp 0x1400ad7f4
lea rax, str.__parse_certificate_verify
mov r9d, 0x1041
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1400b3650
xor eax, eax
jmp 0x1400ad800
lea rax, str.peer_not_adhering_to_requested_sig_alg_for_verify_message
mov r9d, 0xffa
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov eax, 0xffff9a00
jmp 0x1400ad810
lea rax, str.bad_certificate_verify_message
mov r9d, 0xfd8
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov eax, 0xffff8900
jmp 0x1400ad81d
lea rax, str.__skip_parse_certificate_verify
mov r9d, 0xfb9
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.1400b3650
inc dword [rdi + 8]
xor eax, eax
jmp 0x1400ad81d
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x80
xor r12d, r12d
lea rax, [0x1400e4a70]
lea r14, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov dword [rsp + 0xc0], r12d
mov r9d, 0x392
mov dword [rsp + 0xc8], r12d
mov r8, r14
mov qword [rsp + 0x20], rax
lea edx, [r12 + 2]
mov rbx, rcx
call fcn.1400b3650
lea r13d, [r12 + 5]
mov qword [rsp + 0x78], rdi
lea r15d, [r12 + 0xd]
lea rsi, str.replayed_record__discarding
lea ebp, [r12 + 1]
nop word [rax + rax]
cmp dword [rbx + 0xc], r12d
jne 0x1400adb6b
mov rdx, r13
mov rcx, rbx
call fcn.1400a36d0
mov edi, eax
test eax, eax
jne 0x1400adcc5
mov rax, qword [rbx]
mov rcx, r15
mov rdi, qword [rbx + 0xc0]
mov r9d, 0x3ac
mov r8, r14
mov edx, 4
cmp byte [rax + 9], bpl
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.1400b2dd0
movzx eax, byte [rdi]
mov r9d, 0x3b8
mov dword [rsp + 0x28], eax
mov r8, r14
lea rax, str.client_hello__message_type:__d
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400b3650
cmp byte [rdi], 0x16
mov r8, r14
jne 0x1400af1cb
mov rax, qword [rbx + 0xd0]
mov r9d, 0x3c0
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.1400b3650
movzx eax, byte [rdi + 2]
mov r9d, 0x3c3
movzx ecx, byte [rdi + 1]
mov r8, r14
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.1400b3650
mov rax, qword [rbx]
cmp byte [rax + 9], bpl
jne 0x1400adcf4
cmp dword [rbx + 0xc], r12d
jne 0x1400adcf4
mov rcx, qword [rbx + 0xb8]
cmp byte [rcx], r12b
jne 0x1400add1b
cmp byte [rcx + 1], r12b
jne 0x1400add1b
mov eax, dword [rcx + 2]
mov dword [rbx + 0x19a], eax
movzx eax, word [rcx + 6]
mov rcx, rbx
mov word [rbx + 0x19e], ax
call fcn.1400a2a50
mov rcx, rbx
test eax, eax
je 0x1400adcef
mov r9d, 0x3d8
mov qword [rsp + 0x20], rsi
mov r8, r14
mov edx, ebp
call fcn.1400b3650
mov qword [rbx + 0x110], r12
mov qword [rbx + 0x100], r12
jmp 0x1400adb50
lea rax, str.mbedtls_ssl_fetch_input
mov dword [rsp + 0x28], edi
mov r9d, 0x3a5
mov qword [rsp + 0x20], rax
mov r8, r14
mov edx, ebp
mov rcx, rbx
call fcn.1400b3710
mov eax, edi
jmp 0x1400af1ec
call fcn.1400a2b00
mov rax, qword [rbx + 0xd0]
movzx esi, byte [rax]
movzx eax, byte [rax + 1]
shl rsi, 8
or rsi, rax
cmp dword [rbx + 0xc], r12d
je 0x1400add44
mov rsi, qword [rbx + 0x128]
jmp 0x1400addd7
lea rax, str.bad_client_hello_message
mov r9d, 0x3cf
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, rbx
call fcn.1400b3650
mov eax, 0xffff9a00
jmp 0x1400af1ec
mov rcx, rbx
cmp rsi, 0x4000
jbe 0x1400add76
lea rax, str.bad_client_hello_message
mov r9d, 0x3ee
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, ebp
call fcn.1400b3650
mov eax, 0xffff9a00
jmp 0x1400af1ec
mov rax, qword [rbx]
cmp byte [rax + 9], bpl
cmovne r15, r13
lea rdx, [rsi + r15]
call fcn.1400a36d0
mov edi, eax
test eax, eax
je 0x1400addba
mov dword [rsp + 0x28], eax
mov r9d, 0x3f4
lea rax, str.mbedtls_ssl_fetch_input
mov r8, r14
mov edx, ebp
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3710
mov eax, edi
jmp 0x1400af1ec
mov rax, qword [rbx]
cmp byte [rax + 9], bpl
jne 0x1400addd0
lea rax, [rsi + 0xd]
mov qword [rbx + 0x110], rax
jmp 0x1400addd7
mov qword [rbx + 0x100], r12
mov r13, qword [rbx + 0xe0]
lea rax, str.record_contents
mov qword [rsp + 0x30], rsi
mov r12d, 4
mov qword [rsp + 0x28], r13
mov edx, r12d
mov r9d, 0x403
mov qword [rsp + 0x20], rax
mov r8, r14
mov qword [rsp + 0x40], r13
mov rcx, rbx
call fcn.1400b2dd0
mov rax, qword [rbx + 0x70]
mov r8, rsi
mov rdx, r13
mov rcx, rbx
call qword [rax + 0x18]
mov edi, eax
mov r8, r14
test eax, eax
je 0x1400ade53
mov dword [rsp + 0x28], eax
mov r9d, 0x407
lea rax, str.update_checksum
mov edx, ebp
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, edi
jmp 0x1400af1ec
mov rax, qword [rbx]
mov r15d, recv
mov ecx, r15d
cmp byte [rax + 9], bpl
cmovne rcx, r12
cmp rsi, rcx
mov rcx, rbx
jae 0x1400ade92
lea rax, str.bad_client_hello_message
mov r9d, 0x414
mov edx, ebp
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400af1ec
movzx eax, byte [r13]
mov r9d, 0x418
mov dword [rsp + 0x28], eax
mov edx, 3
lea rax, str.client_hello_v3__handshake_type:__d
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov r8, r14
mov rcx, rbx
cmp byte [r13], bpl
je 0x1400adece
mov r9d, 0x41b
jmp 0x1400af1d4
movzx eax, byte [r13 + 2]
mov r9d, 0x421
movzx edi, byte [r13 + 1]
mov edx, 3
shl rdi, 8
or rdi, rax
movzx eax, byte [r13 + 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.1400b3650
movzx eax, byte [r13 + 1]
test al, al
je 0x1400adf41
mov dword [rsp + 0x28], eax
mov r9d, 0x427
lea rax, str.bad_client_hello_message:__u___0
mov r8, r14
mov edx, ebp
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400af1ec
mov rax, qword [rbx]
movzx ecx, byte [rax + 9]
mov rax, r15
cmp cl, bpl
cmovne rax, r12
add rax, rdi
cmp rsi, rax
je 0x1400adf97
cmp cl, bpl
mov dword [rsp + 0x38], edi
lea rax, str.bad_client_hello_message:__u____u___u
mov r9d, 0x430
cmovne r15d, r12d
mov r8, r14
mov dword [rsp + 0x30], r15d
mov edx, ebp
mov dword [rsp + 0x28], esi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400af1ec
cmp cl, bpl
jne 0x1400ae0dd
mov rax, qword [rbx + 0xe0]
movzx ecx, byte [rax + 4]
movzx edx, byte [rax + 5]
shl ecx, 8
or ecx, edx
cmp dword [rbx + 0xc], ebp
jne 0x1400ae002
mov rdx, qword [rbx + 0x70]
mov eax, dword [rdx + 0x400]
cmp ecx, eax
je 0x1400adff8
mov dword [rsp + 0x30], eax
mov r9d, 0x444
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, r14
mov edx, ebp
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400af1ec
inc eax
mov dword [rdx + 0x400], eax
jmp 0x1400ae018
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x3fc], ecx
inc ecx
mov rax, qword [rbx + 0x70]
mov dword [rax + 0x400], ecx
mov rcx, qword [rbx + 0xe0]
mov r9d, 0x45d
mov r8, r14
mov edx, 4
movzx eax, byte [rcx + 7]
movzx edi, byte [rcx + 6]
movzx r12d, byte [rcx + 9]
movzx r13d, byte [rcx + 1]
shl rdi, 8
or rdi, rax
shl r12, 8
movzx eax, byte [rcx + 8]
shl r13, 8
shl rdi, 8
or rdi, rax
movzx eax, byte [rcx + 0xa]
or r12, rax
movzx eax, byte [rcx + 0xb]
shl r12, 8
or r12, rax
movzx eax, byte [rcx + 2]
or r13, rax
movzx eax, byte [rcx + 3]
shl r13, 8
mov rcx, rbx
or r13, rax
lea rax, str.fragment_offset_u_fragment_length_u_length_u
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call fcn.1400b3650
test rdi, rdi
jne 0x1400ae0a9
cmp r13, r12
je 0x1400ae0d2
lea rax, str.ClientHello_fragmentation_not_supported
mov r9d, 0x45f
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, rbx
call fcn.1400b3650
mov eax, 0xffff8f80
jmp 0x1400af1ec
mov r13, qword [rsp + 0x40]
mov r12d, 4
mov rax, qword [rbx]
mov r8, r14
mov rcx, rbx
cmp byte [rax + 9], bpl
cmovne r15, r12
add r13, r15
sub rsi, r15
mov qword [rsp + 0x40], r13
cmp rsi, 0x26
jae 0x1400ae122
lea rax, str.bad_client_hello_message
mov r9d, 0x47f
mov edx, ebp
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400af1ec
mov qword [rsp + 0x30], 2
lea rax, str.client_hello__version
mov qword [rsp + 0x28], r13
mov r9d, 0x486
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400b2dd0
mov rax, qword [rbx]
mov rcx, r13
movzx edx, byte [rax + 9]
call fcn.1400a5780
movzx ecx, ax
mov r8, r14
mov rax, qword [rbx + 0x68]
mov dword [rbx + 0x14], ecx
mov dword [rax + 4], ecx
mov rcx, rbx
cmp dword [rbx + 0x14], 0x303
je 0x1400ae1a7
lea rax, str.server_only_supports_TLS_1.2
mov r9d, 0x48c
mov edx, ebp
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov r8b, 0x46
mov dl, 2
mov rcx, rbx
call fcn.1400a5a90
mov eax, 0xffff9180
jmp 0x1400af1ec
mov qword [rsp + 0x30], 0x20
lea rax, str.client_hello__random_bytes
lea rdi, [r13 + 2]
mov r9d, 0x495
mov qword [rsp + 0x28], rdi
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400b2dd0
mov rax, qword [rbx + 0x70]
movups xmm0, xmmword [rdi]
movups xmmword [rax + 0x4e8], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rax + 0x4f8], xmm1
movzx r15d, byte [r13 + 0x22]
cmp r15, 0x20
ja 0x1400af1ba
lea rax, [r15 + 0x24]
cmp rax, rsi
ja 0x1400af1ba
mov qword [rsp + 0x30], r15
lea rax, str.client_hello__session_id
lea rdi, [r13 + 0x23]
mov r9d, 0x4a6
mov qword [rsp + 0x28], rdi
mov r8, r14
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b2dd0
mov rax, qword [rbx + 0x68]
xorps xmm0, xmm0
mov rdx, rdi
mov qword [rax + 0x18], r15
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]
add r15, 0x23
mov qword [rsp + 0x48], r15
cmp byte [rax + 9], bpl
jne 0x1400ae3d8
movzx edi, byte [r15 + r13]
mov r8, r14
add r15, rdi
mov rcx, rbx
lea rax, [r15 + 3]
cmp rax, rsi
jbe 0x1400ae2c2
mov r9d, 0x4b7
lea rax, str.bad_client_hello_message
mov edx, ebp
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov rcx, rbx
mov dl, 2
mov r8b, 0x32
call fcn.1400a5a90
mov eax, 0xffff8d00
jmp 0x1400af1ec
mov r12, qword [rsp + 0x48]
lea rax, str.client_hello__cookie
mov qword [rsp + 0x30], rdi
inc r12
add r12, r13
mov r9d, 0x4be
mov qword [rsp + 0x28], r12
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400b2dd0
mov rcx, qword [rbx]
mov r10, qword [rcx + 0x90]
test r10, r10
je 0x1400ae386
cmp dword [rbx + 0xc], 0
jne 0x1400ae386
mov rax, qword [rbx + 0x1c0]
mov r8, rdi
mov r9, qword [rbx + 0x1b8]
mov rdx, r12
mov rcx, qword [rcx + 0x98]
mov qword [rsp + 0x20], rax
call r10
mov r8, r14
mov edx, 2
mov rcx, rbx
test eax, eax
je 0x1400ae362
lea rax, str.cookie_verification_failed
mov r9d, 0x4c9
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x3f9], bpl
jmp 0x1400ae3d0
lea rax, str.cookie_verification_passed
mov r9d, 0x4cc
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x3f9], 0
jmp 0x1400ae3d0
mov r8, r14
mov rcx, rbx
test rdi, rdi
je 0x1400ae3b4
lea rax, str.bad_client_hello_message
mov r9d, 0x4d5
mov edx, ebp
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400af1ec
lea rax, str.cookie_verification_skipped
mov r9d, 0x4d9
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1400b3650
inc r15
mov qword [rsp + 0x48], r15
movzx eax, byte [r15 + r13]
shl eax, 8
movsxd rdi, eax
movzx eax, byte [r15 + r13 + 1]
or rdi, rax
mov qword [rsp + 0x60], rdi
cmp rdi, 2
jb 0x1400af1a9
lea rax, [r15 + 3]
add rax, rdi
cmp rax, rsi
ja 0x1400af1a9
test bpl, dil
jne 0x1400af1a9
mov qword [rsp + 0x30], rdi
lea rax, [r13 + 2]
add rax, r15
mov r9d, 0x4f1
mov qword [rsp + 0x28], rax
mov r8, r14
lea rax, str.client_hello__ciphersuitelist
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400b2dd0
lea rdx, [r15 + 2]
add rdx, rdi
movzx ecx, byte [rdx + r13]
lea rax, [rcx - 1]
cmp rax, 0xf
ja 0x1400af198
lea rdi, [rdx + 1]
add rdi, rcx
cmp rdi, rsi
ja 0x1400af198
mov qword [rsp + 0x30], rcx
lea rax, [r13 + 1]
add rax, rdx
mov r9d, 0x507
mov qword [rsp + 0x28], rax
mov r8, r14
lea rax, str.client_hello__compression
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400b2dd0
cmp rsi, rdi
jbe 0x1400ae4f7
lea rax, [rdi + 2]
cmp rsi, rax
jae 0x1400ae4c3
mov r9d, 0x50f
mov r8, r14
mov rcx, rbx
jmp 0x1400ae298
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 0x1400ae500
mov r9d, 0x519
mov r8, r14
mov rcx, rbx
jmp 0x1400ae298
xor eax, eax
mov ecx, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x30], rcx
lea rax, str.client_hello_extensions
lea r12, [r13 + 2]
mov r9d, 0x523
add r12, rdi
mov r8, r14
mov qword [rsp + 0x28], r12
mov edx, 3
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], r12
call fcn.1400b2dd0
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x1400aed99
lea rsi, str.found_max_fragment_length_extension
lea r15, str.Client_sent_CID_extension__but_CID_disabled
lea r13, str.found_encrypt_then_mac_extension
lea r10, str.unknown_extension_found:__u__ignoring_
lea r11, str.found_renegotiation_extension
lea r9, [0x140000000]
cmp r8, 4
jb 0x1400aed88
movzx ecx, byte [r12 + 3]
movzx eax, byte [r12 + 1]
movzx edx, byte [r12]
shl edx, 8
or edx, eax
mov dword [rsp + 0xd8], ecx
movzx eax, byte [r12 + 2]
mov edi, eax
mov dword [rsp + 0xd0], eax
shl edi, 8
or edi, ecx
lea ecx, [rdi + 4]
cmp rcx, r8
ja 0x1400aed77
cmp edx, 0xff01
ja case.0x1400ae5e6.10
je 0x1400aeaf8
cmp edx, 0x36
ja case.0x1400ae5e6.10
movzx eax, byte [r9 + rdx + 0xaf230]
mov ecx, dword [r9 + rax*4 + 0xaf204]
add rcx, r9
jmp rcx
lea rax, str.found_ServerName_extension
mov r9d, 0x53a
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
mov r8d, edi
lea rdx, [r12 + 4]
add r8, 4
mov rcx, rbx
add r8, r12
call fcn.14009d7e0
test eax, eax
jne 0x1400af1ec
jmp 0x1400ae77a
lea rax, str.found_signature_algorithms_extension
mov r9d, 0x551
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
mov r8d, edi
lea rdx, [r12 + 4]
add r8, 4
mov rcx, rbx
add r8, r12
call fcn.14009daa0
test eax, eax
jne 0x1400af1ec
mov r9d, ebp
mov dword [rsp + 0xc8], ebp
jmp 0x1400ae782
lea rax, str.found_supported_elliptic_curves_extension
mov r9d, 0x55f
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
mov ecx, edi
cmp rcx, 2
jb 0x1400aec14
movzx eax, byte [r12 + 4]
movzx r15d, byte [r12 + 5]
shl rax, 8
or r15, rax
lea rax, [r15 + 2]
cmp rax, rcx
jne 0x1400aec0c
test bpl, r15b
jne 0x1400aec0c
mov rax, qword [rbx + 0x70]
cmp qword [rax + 0x328], 0
jne 0x1400aebd4
mov eax, recv
mov rsi, r15
shr rsi, 1
inc rsi
cmp rsi, 0xe
lea edx, [rax - 0xc]
cmova rsi, rax
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1400aebbb
mov rax, qword [rbx + 0x70]
add r12, 6
mov qword [rax + 0x328], r13
test r15, r15
je 0x1400ae760
nop dword [rax]
cmp rsi, rbp
jbe 0x1400ae760
movzx edi, word [r12]
ror di, 8
movzx ecx, di
call fcn.14009c1a0
test eax, eax
je 0x1400ae756
mov word [r13], di
add r13, 2
dec rsi
add r12, 2
sub r15, 2
jne 0x1400ae730
mov r12, qword [rsp + 0x58]
lea r13, str.found_encrypt_then_mac_extension
lea r15, str.Client_sent_CID_extension__but_CID_disabled
lea rsi, str.found_max_fragment_length_extension
mov r9d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0xc0]
movzx eax, byte [rsp + 0xd8]
lea r12, [r12 + 4]
mov r8, qword [rsp + 0x50]
movzx ecx, byte [rsp + 0xd0]
shl rcx, 8
or rcx, rax
mov rax, 0xfffffffffffffffc
sub rax, rcx
add r8, rax
mov qword [rsp + 0x50], r8
lea r12, [r12 + rcx]
mov qword [rsp + 0x58], r12
jne 0x1400ae55b
mov r13, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
test r9d, r9d
je 0x1400aed99
lea rcx, [r13 + 2]
mov dword [rsp + 0xc0], edx
add rcx, r15
xor esi, esi
jmp 0x1400aedb1
lea rax, str.found_supported_point_formats_extension
mov r9d, 0x568
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
mov rax, qword [rbx + 0x70]
mov ecx, edi
or byte [rax + 1], bpl
test edi, edi
je 0x1400aec4c
movzx edx, byte [r12 + 4]
lea rax, [rdx + 1]
cmp rax, rcx
jne 0x1400aec4c
lea rcx, [r12 + 5]
test rdx, rdx
je 0x1400ae77a
nop dword [rax + rax]
movzx r8d, byte [rcx]
cmp r8b, 2
jb 0x1400ae867
inc rcx
sub rdx, rbp
jne 0x1400ae850
jmp 0x1400ae77a
mov rax, qword [rbx + 0x70]
mov r9d, 0x117
mov edx, 4
mov byte [rax + 0x160], r8b
mov r8, r14
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.1400b3650
jmp 0x1400ae77a
mov r9d, 0x580
mov qword [rsp + 0x20], rsi
mov r8, r14
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
cmp edi, ebp
jne 0x1400aec57
movzx ecx, byte [r12 + 4]
cmp cl, 5
jae 0x1400aec57
mov rax, qword [rbx + 0x68]
mov byte [rax], cl
jmp 0x1400ae77a
lea rax, str.found_CID_extension
mov r9d, 0x58b
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
mov rax, qword [rbx]
lea rsi, [r12 + 4]
mov ecx, edi
cmp byte [rax + 9], bpl
jne 0x1400aecb5
cmp rcx, rbp
jb 0x1400aeca5
movzx edi, byte [rsi]
lea rax, [rcx - 1]
inc rsi
cmp rax, rdi
jne 0x1400aec95
cmp byte [rbx + 0x211], 0
jne 0x1400ae958
mov r9d, 0x194
mov qword [rsp + 0x20], r15
mov r8, r14
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
jmp 0x1400ae773
cmp rdi, 0x20
ja 0x1400aec8d
mov rax, qword [rbx + 0x70]
mov r8, rdi
mov rdx, rsi
mov byte [rax + 0x438], bpl
mov rax, qword [rbx + 0x70]
mov byte [rax + 0x459], dil
mov rcx, qword [rbx + 0x70]
add rcx, 0x439
call sub.VCRUNTIME140.dll_memcpy
lea rax, str.Use_of_CID_extension_negotiated
mov r9d, 0x1a3
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
lea rax, str.Client_CID
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rsi
mov r9d, 0x1a4
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b2dd0
jmp 0x1400ae773
mov r9d, 0x596
mov qword [rsp + 0x20], r13
mov r8, r14
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
test edi, edi
jne 0x1400aecf1
mov rax, qword [rbx]
cmp byte [rax + 0xd], bpl
jne 0x1400ae77a
mov rax, qword [rbx + 0x68]
mov dword [rax + 0x94], ebp
jmp 0x1400ae77a
lea rax, str.found_extended_master_secret_extension
mov r9d, 0x5a1
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
test edi, edi
jne 0x1400aecf9
mov rax, qword [rbx]
mov edx, dword [rsp + 0xc0]
mov r9d, dword [rsp + 0xc8]
cmp byte [rax + 0xe], bpl
jne 0x1400ae789
mov rax, qword [rbx + 0x70]
mov byte [rax + 0xc], bpl
jmp 0x1400ae789
lea rax, str.found_session_ticket_extension
mov r9d, 0x5ac
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
mov r8d, edi
lea rdx, [r12 + 4]
mov rcx, rbx
call fcn.1400afde0
test eax, eax
jne 0x1400af1ec
jmp 0x1400ae77a
lea rax, str.found_alpn_extension
mov r9d, 0x5b7
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
mov r8d, edi
lea rdx, [r12 + 4]
add r8, 4
mov rcx, rbx
add r8, r12
call fcn.14009cfd0
test eax, eax
jne 0x1400af1ec
jmp 0x1400ae77a
mov r9d, 0x544
mov qword [rsp + 0x20], r11
mov r8, r14
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
cmp dword [rbx + 0xc], 0
mov edx, ebp
mov dword [rsp + 0xc0], edx
mov ecx, edi
je 0x1400aeb6f
mov r8, qword [rbx + 0x1d0]
lea rax, [r8 + 1]
cmp rcx, rax
jne 0x1400aed32
movzx eax, byte [r12 + 4]
cmp rax, r8
jne 0x1400aed32
lea rdx, [rbx + 0x1e4]
lea rcx, [r12 + 5]
call fcn.14008c980
test eax, eax
jne 0x1400aed32
mov r9d, dword [rsp + 0xc8]
mov edx, ebp
jmp 0x1400ae789
cmp rcx, rdx
jne 0x1400aed41
cmp byte [r12 + 4], 0
jne 0x1400aed41
mov r9d, dword [rsp + 0xc8]
mov dword [rbx + 0x1c8], ebp
jmp 0x1400ae789
mov dword [rsp + 0x28], edx
mov r9d, 0x5ce
mov edx, 3
mov qword [rsp + 0x20], r10
mov r8, r14
mov rcx, rbx
call fcn.1400b3650
jmp 0x1400ae77a
mov r8b, 0x50
mov dl, 2
mov rcx, rbx
mov edi, 0xffff8100
call fcn.1400a5a90
mov eax, edi
jmp 0x1400af1ec
lea rax, str.bad_client_hello_message
mov r9d, 0xd2
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, rbx
call fcn.1400b3650
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
mov edi, 0xffff9a00
call fcn.1400a5a90
mov eax, edi
jmp 0x1400af1ec
mov r9d, 0xca
jmp 0x1400aec1a
mov r9d, 0xc2
lea rax, str.bad_client_hello_message
mov r8, r14
mov edx, ebp
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3650
mov r8b, 0x32
mov dl, 2
mov rcx, rbx
mov edi, 0xffff8d00
call fcn.1400a5a90
mov eax, edi
jmp 0x1400af1ec
mov r9d, 0x102
jmp 0x1400aecff
lea rax, str.bad_client_hello_message
mov r9d, 0x15d
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, ebp
mov rcx, rbx
call fcn.1400b3650
mov r8b, 0x2f
mov dl, 2
mov rcx, rbx
call fcn.1400a5a90
mov eax, 0xffff9a00
jmp 0x1400af1ec
mov r9d, 0x199
jmp 0x1400aecbb
mov edi, 0xffff8d00
mov sil, 0x32
mov r9d, 0x18a
jmp 0x1400aecc3
mov edi, 0xffff8d00
mov sil, 0x32
mov r9d, 0x180
jmp 0x1400aecc3
mov r9d, 0x173
mov sil, 0x2f
mov edi, 0xffff9a00
lea rax, str.bad_client_hello_message
mov r8, r14
mov edx, ebp
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3650
movzx r8d, sil
mov dl, 2
mov rcx, rbx
call fcn.1400a5a90
mov eax, edi
jmp 0x1400af1ec
mov r9d, 0x1b1
jmp 0x1400aecff
mov r9d, 0x1c8
lea rax, str.bad_client_hello_message
mov r8, r14
mov edx, ebp
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdi, rbx
call fcn.1400b3650
mov rcx, rbx
mov dl, 2
mov r8b, 0x32
call fcn.1400a5a90
mov eax, 0xffff8d00
jmp 0x1400af1ec
mov r9d, 0x7a
lea rax, str.non_matching_renegotiation_info
jmp 0x1400aed4e
mov r9d, 0x83
lea rax, str.non_zero_length_renegotiation_info
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov edx, ebp
mov r8, r14
call fcn.1400b3650
mov r8b, 0x28
mov dl, 2
mov rcx, rbx
call fcn.1400a5a90
mov eax, 0xffff9200
jmp 0x1400af1ec
mov r9d, 0x532
mov r8, r14
mov rcx, rbx
jmp 0x1400ae298
mov r9d, 0x529
mov r8, r14
mov rcx, rbx
jmp 0x1400ae298
mov rax, qword [rbx + 0x70]
lea rcx, [r13 + 2]
xor esi, esi
add rcx, r15
mov dword [rax + 0x38], 0x2010203
mov word [rax + 0x3c], si
mov r8, qword [rsp + 0x60]
lea rdx, [r15 + r13]
mov rax, rcx
sub rax, r15
sub rax, r13
sub rax, 2
cmp byte [rcx], 0
jne 0x1400aedd3
cmp byte [rdx + rax + 3], 0xff
je 0x1400aede2
add rcx, 2
add rax, 2
cmp rax, r8
jb 0x1400aedc7
jmp 0x1400aee21
lea rax, str.received_TLS_EMPTY_RENEGOTIATION_INFO
mov r9d, 0x5f7
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
cmp dword [rbx + 0xc], ebp
jne 0x1400aee1b
lea rax, str.received_RENEGOTIATION_SCSV_during_renegotiation
mov r9d, 0x5fb
jmp 0x1400aed4e
mov dword [rbx + 0x1c8], ebp
mov ecx, dword [rbx + 0x1c8]
cmp ecx, ebp
je 0x1400aee46
mov rax, qword [rbx]
cmp byte [rax + 0xb], 2
jne 0x1400aee46
mov r9d, 0x60b
lea rax, str.legacy_renegotiation__breaking_off_handshake
jmp 0x1400aed4e
cmp dword [rbx + 0xc], ebp
jne 0x1400aee95
cmp ecx, ebp
jne 0x1400aee6c
mov eax, dword [rsp + 0xc0]
test eax, eax
jne 0x1400aee91
mov r9d, 0x612
lea rax, str.renegotiation_info_extension_missing__secure_
jmp 0x1400aed4e
test ecx, ecx
jne 0x1400aee8a
mov rax, qword [rbx]
cmp byte [rax + 0xb], cl
jne 0x1400aeed9
mov r9d, 0x617
lea rax, str.legacy_renegotiation_not_allowed
jmp 0x1400aed4e
mov eax, dword [rsp + 0xc0]
test ecx, ecx
je 0x1400aeee0
mov rax, qword [rbx]
mov rdx, qword [rax + 0x180]
test rdx, rdx
je 0x1400aeef6
mov rcx, rbx
call rdx
mov edi, eax
test eax, eax
je 0x1400aeef6
mov dword [rsp + 0x28], eax
mov r9d, 0x62b
lea rax, str.f_cert_cb
mov r8, r14
mov edx, ebp
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3710
mov eax, edi
jmp 0x1400af1ec
mov eax, dword [rsp + 0xc0]
cmp eax, ebp
jne 0x1400aee95
mov r9d, 0x61c
lea rax, str.renegotiation_info_extension_present__legacy_
jmp 0x1400aed4e
mov rax, qword [rbx + 0x70]
mov r13d, esi
mov qword [rsp + 0xc0], rsi
mov qword [rax + 0x958], rsi
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x960], rsi
mov rax, qword [rbx]
mov r12, qword [rax + 0x18]
mov qword [rsp + 0xd8], r12
cmp byte [rax + 0x13], bpl
jne 0x1400aefe4
mov rdi, qword [rsp + 0x40]
mov rax, rsi
add rdi, 2
mov qword [rsp + 0xc8], rax
add rdi, r15
nop word [rax + rax]
mov ecx, dword [r12]
mov r15, rsi
test ecx, ecx
je 0x1400aefb2
nop dword [rax + rax]
movzx eax, word [rdi]
ror ax, 8
movzx eax, ax
cmp eax, ecx
jne 0x1400aef9c
mov edx, ecx
lea r8, [rsp + 0xc0]
mov rcx, rbx
mov r13d, ebp
call fcn.1400ad100
test eax, eax
jne 0x1400af1ec
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
jne 0x1400af0b8
mov ecx, dword [r12 + r15*4 + 4]
inc r15
test ecx, ecx
jne 0x1400aef60
mov rax, qword [rsp + 0xc8]
xor esi, esi
add rax, 2
add rdi, 2
mov qword [rsp + 0xc8], rax
cmp rax, qword [rsp + 0x60]
jb 0x1400aef50
test r13d, r13d
je 0x1400af186
lea rax, str.got_ciphersuites_in_common__but_none_of_them_usable
mov r9d, 0x667
jmp 0x1400aed4e
cmp dword [r12], 0
mov r15, rsi
je 0x1400af186
mov rdx, qword [rsp + 0x40]
mov rcx, r12
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rcx
lea rax, [rdx + 2]
add rax, r8
mov qword [rsp + 0xd0], rax
nop word [rax + rax]
mov rdi, rax
mov r12, rax
sub rdi, r8
sub rdi, rdx
sub rdi, 2
movzx eax, word [r12]
mov edx, dword [rcx]
ror ax, 8
movzx eax, ax
cmp eax, edx
jne 0x1400af072
lea r8, [rsp + 0xc0]
mov rcx, rbx
mov r13d, ebp
call fcn.1400ad100
test eax, eax
jne 0x1400af1ec
mov rsi, qword [rsp + 0xc0]
test rsi, rsi
jne 0x1400af0b0
mov rcx, qword [rsp + 0xc8]
add r12, 2
add rdi, 2
cmp rdi, qword [rsp + 0x60]
jb 0x1400af030
add rcx, 4
inc r15
mov qword [rsp + 0xc8], rcx
cmp dword [rcx], 0
je 0x1400aefc9
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
jmp 0x1400af020
mov r12, qword [rsp + 0xd8]
mov rax, qword [rsi + 8]
mov r9d, 0x673
mov qword [rsp + 0x28], rax
mov r8, r14
lea rax, str.selected_ciphersuite:__s
mov edx, 2
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, dword [r12 + r15*4]
mov rdx, qword [rbx + 0x68]
mov dword [rdx + 0x10], eax
mov rax, qword [rbx + 0x70]
mov qword [rax + 0x10], rsi
mov rax, qword [rbx]
inc dword [rbx + 8]
cmp byte [rax + 9], bpl
jne 0x1400af10a
mov rcx, rbx
call fcn.1400a57b0
mov rcx, rsi
call fcn.14009b070
test eax, eax
je 0x1400af136
mov ecx, eax
lea rsi, str.client_hello_v3__signature_algorithm_ext:__u
mov edi, 0x688
call fcn.14009ebd0
movzx edx, al
mov rcx, rbx
call fcn.14009ece0
jmp 0x1400af144
mov edi, 0x68b
lea rsi, str.no_hash_algorithm_for_signature_algorithm__u___should_not_happen
xor eax, eax
mov dword [rsp + 0x28], eax
mov r9d, edi
mov r8, r14
mov qword [rsp + 0x20], rsi
mov edx, 3
mov rcx, rbx
call fcn.1400b3650
lea rax, str.__parse_client_hello
mov r9d, 0x68f
mov r8, r14
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rbx
call fcn.1400b3650
xor eax, eax
jmp 0x1400af1ec
lea rax, str.got_no_ciphersuites_in_common
mov r9d, 0x66c
jmp 0x1400aed4e
mov r9d, 0x500
mov r8, r14
mov rcx, rbx
jmp 0x1400ae298
mov r9d, 0x4ea
mov r8, r14
mov rcx, rbx
jmp 0x1400ae298
mov r9d, 0x4a0
mov r8, r14
mov rcx, rbx
jmp 0x1400ae298
mov r9d, 0x3bb
mov rcx, rbx
lea rax, str.bad_client_hello_message
mov edx, ebp
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, 0xffff8900
mov rdi, qword [rsp + 0x78]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
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:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov r9d, 0xe10
mov edx, 2
mov rbx, rcx
mov rbp, qword [rax + 0x10]
lea rax, [0x1400e5670]
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov edx, 1
mov rcx, rbx
call fcn.1400a53c0
mov edi, eax
test eax, eax
je 0x1400af2fc
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_ssl_read_record
mov r9d, 0xe1f
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3710
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
mov rcx, qword [rbx + 0xe0]
mov edx, recv
mov rax, qword [rbx]
mov r8d, 4
mov rdi, qword [rbx + 0x128]
cmp byte [rax + 9], 1
cmovne edx, r8d
add rdi, rcx
add rdx, rcx
cmp dword [rbx + 0xf0], 0x16
mov qword [rsp + 0x40], rdx
je 0x1400af36f
lea rax, str.bad_client_key_exchange_message
mov r9d, 0xe27
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1400b3650
mov eax, 0xffff8900
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
cmp byte [rcx], 0x10
je 0x1400af3af
lea rax, str.bad_client_key_exchange_message
mov r9d, 0xe2c
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rbx
call fcn.1400b3650
mov eax, 0xffff8900
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
ret
movzx ecx, byte [rbp + 0x12]
mov qword [rsp + 0x48], rsi
cmp cl, 2
jne 0x1400af4bb
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400ad9a0
mov esi, eax
test eax, eax
je 0x1400af408
lea rcx, str.ssl_parse_client_dh_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xe33
mov edx, 1
call fcn.1400b3710
mov eax, esi
jmp 0x1400afa63
cmp qword [rsp + 0x40], rdi
je 0x1400af41d
mov r9d, 0xe38
mov rcx, rbx
jmp 0x1400af702
mov r8, qword [rbx]
mov rcx, qword [rbx + 0x70]
mov rax, qword [r8 + 0x38]
mov qword [rsp + 0x28], rax
lea r9, [rcx + 0x950]
mov rax, qword [r8 + 0x30]
lea rdx, [rcx + 0x528]
mov r8d, 0x424
mov qword [rsp + 0x20], rax
add rcx, 0x70
call fcn.1400b3c80
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
test eax, eax
je 0x1400af48b
mov dword [rsp + 0x28], eax
mov r9d, 0xe41
lea rax, str.mbedtls_dhm_calc_secret
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, 0xffff8d00
jmp 0x1400afa63
mov rax, qword [rbx + 0x70]
mov r9d, 0xe45
add rax, 0xe8
mov edx, 3
mov qword [rsp + 0x28], rax
lea rax, str.DHM:_K
mov qword [rsp + 0x20], rax
call fcn.1400b3450
jmp 0x1400afa06
lea eax, [rcx - 3]
cmp al, 1
jbe 0x1400af8f9
lea eax, [rcx - 9]
cmp al, 1
jbe 0x1400af8f9
cmp cl, 5
jne 0x1400af57a
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400afa80
mov esi, eax
test eax, eax
je 0x1400af521
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xea1
mov edx, 1
call fcn.1400b3710
mov eax, esi
jmp 0x1400afa63
mov rcx, rbx
cmp qword [rsp + 0x40], rdi
je 0x1400af536
mov r9d, 0xea6
jmp 0x1400af702
movzx edx, byte [rbp + 0x12]
call fcn.14009de20
mov edi, eax
test eax, eax
je 0x1400afa06
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xead
mov edx, 1
call fcn.1400b3710
mov eax, edi
jmp 0x1400afa63
cmp cl, 7
jne 0x1400af65b
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400afa80
mov esi, eax
test eax, eax
je 0x1400af5ca
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xec1
mov edx, 1
call fcn.1400b3710
mov eax, esi
jmp 0x1400afa63
mov rdx, qword [rsp + 0x40]
mov r9d, 2
mov r8, rdi
mov rcx, rbx
call fcn.1400afc60
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x1400af617
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.ssl_parse_encrypted_pms
mov r9d, 0xec6
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, edi
jmp 0x1400afa63
movzx edx, byte [rbp + 0x12]
call fcn.14009de20
mov edi, eax
test eax, eax
je 0x1400afa06
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xecd
mov edx, 1
call fcn.1400b3710
mov eax, edi
jmp 0x1400afa63
cmp cl, 6
jne 0x1400af76d
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400afa80
mov esi, eax
test eax, eax
je 0x1400af6ab
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xed6
mov edx, 1
call fcn.1400b3710
mov eax, esi
jmp 0x1400afa63
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400ad9a0
mov esi, eax
test eax, eax
je 0x1400af6f2
lea rcx, str.ssl_parse_client_dh_public
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xeda
mov edx, 1
call fcn.1400b3710
mov eax, esi
jmp 0x1400afa63
mov rcx, rbx
cmp qword [rsp + 0x40], rdi
je 0x1400af729
mov r9d, 0xedf
lea rax, str.bad_client_key_exchange
mov edx, 1
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov eax, 0xffff8d00
jmp 0x1400afa63
movzx edx, byte [rbp + 0x12]
call fcn.14009de20
mov edi, eax
test eax, eax
je 0x1400afa06
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xef6
mov edx, 1
call fcn.1400b3710
mov eax, edi
jmp 0x1400afa63
cmp cl, 8
jne 0x1400af87e
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400afa80
mov esi, eax
test eax, eax
je 0x1400af7bd
lea rcx, str.ssl_parse_client_psk_identity
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xf49
mov edx, 1
call fcn.1400b3710
mov eax, esi
jmp 0x1400afa63
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rbx + 0x70]
sub rdi, rdx
mov r8, rdi
add rcx, 0x160
call fcn.1400913d0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
test eax, eax
je 0x1400af810
mov dword [rsp + 0x28], eax
mov r9d, 0xf4f
lea rax, str.mbedtls_ecdh_read_public
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, 0xffff8d00
jmp 0x1400afa63
mov rax, qword [rbx + 0x70]
mov r9d, 0xf54
add rax, 0x160
mov dword [rsp + 0x28], 1
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400b37d0
movzx edx, byte [rbp + 0x12]
mov rcx, rbx
call fcn.14009de20
mov edi, eax
test eax, eax
je 0x1400afa06
lea rcx, str.mbedtls_ssl_psk_derive_premaster
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
mov r9d, 0xf58
mov edx, 1
call fcn.1400b3710
mov eax, edi
jmp 0x1400afa63
cmp cl, 1
mov rcx, rbx
jne 0x1400af8cc
xor r9d, r9d
mov r8, rdi
call fcn.1400afc60
mov edi, eax
test eax, eax
je 0x1400afa06
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.ssl_parse_parse_encrypted_pms_secret
mov r9d, 0xf61
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400b3710
mov eax, edi
jmp 0x1400afa63
lea rax, str.should_never_happen
mov r9d, 0xf85
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
call fcn.1400b3650
mov eax, 0xffff9400
jmp 0x1400afa63
mov rcx, qword [rbx + 0x70]
sub rdi, rdx
add rcx, 0x160
mov r8, rdi
call fcn.1400913d0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
test eax, eax
je 0x1400af947
mov dword [rsp + 0x28], eax
mov r9d, 0xe86
lea rax, str.mbedtls_ecdh_read_public
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, 0xffff8d00
jmp 0x1400afa63
mov rax, qword [rbx + 0x70]
mov r9d, 0xe8b
add rax, 0x160
mov dword [rsp + 0x28], 1
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400b37d0
mov r9, qword [rbx]
mov rcx, qword [rbx + 0x70]
mov rax, qword [r9 + 0x38]
mov qword [rsp + 0x28], rax
lea r8, [rcx + 0x528]
mov rax, qword [r9 + 0x30]
lea rdx, [rcx + 0x950]
mov r9d, 0x400
mov qword [rsp + 0x20], rax
add rcx, 0x160
call fcn.140090e60
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rbx
test eax, eax
je 0x1400af9df
mov dword [rsp + 0x28], eax
mov r9d, 0xe92
lea rax, str.mbedtls_ecdh_calc_secret
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, 0xffff8d00
jmp 0x1400afa63
mov rax, qword [rbx + 0x70]
mov r9d, 0xe97
add rax, 0x160
mov dword [rsp + 0x28], 2
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.1400b37d0
mov rcx, rbx
call fcn.14009baf0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov edi, eax
mov rcx, rbx
test eax, eax
je 0x1400afa42
mov dword [rsp + 0x28], eax
mov r9d, 0xf8a
lea rax, str.mbedtls_ssl_derive_keys
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov eax, edi
jmp 0x1400afa63
inc dword [rbx + 8]
lea rax, str.__parse_client_key_exchange
mov r9d, 0xf90
mov qword [rsp + 0x20], rax
mov edx, 2
call fcn.1400b3650
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 r15
sub rsp, 0x60
mov rax, qword [rcx + 0x70]
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov r15, qword [rcx + 0x178]
mov r9d, 0x95e
add r15, 0x4000
mov edx, 2
mov rsi, rcx
mov qword [rsp + 0x80], r15
mov rbx, qword [rax + 0x10]
lea rax, [0x1400e5348]
mov qword [rsp + 0x20], rax
call fcn.1400b3650
inc dword [rsi + 8]
mov rax, qword [rsi + 0x70]
movzx ecx, byte [rax + 2]
cmp cl, 3
jne 0x1400b0a84
mov rax, qword [rsi]
movzx ecx, byte [rax + 0xa]
movzx eax, byte [rbx + 0x12]
dec eax
mov qword [rsp + 0x90], rbp
cmp eax, 9
ja case.0x1400b0aae.5
cdqe
lea rbp, [0x140000000]
mov eax, dword [rbp + rax*4 + 0xb0d90]
add rax, rbp
jmp rax
test cl, cl
je case.0x1400b0aae.5
mov rax, qword [rsi + 0x178]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r12
mov word [rax + 5], 0x4001
lea rdi, [rax + 4]
mov qword [rsp + 0x48], r13
xor r13d, r13d
mov byte [rdi], 2
mov rbx, qword [rsi + 0x70]
mov r12d, r13d
mov qword [rsp + 0x88], rax
test rbx, rbx
je 0x1400b0b01
cmp byte [rbx + 0xf], 1
jne 0x1400b0b01
mov rbx, qword [rbx + 0x68]
test rbx, rbx
jne 0x1400b0b35
mov rax, qword [rsi]
mov rbx, qword [rax + 0xe8]
test rbx, rbx
jne 0x1400b0b35
mov eax, 0xffffa180
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x90]
add rsp, 0x60
pop r15
pop rsi
pop rbx
ret
movzx eax, word [rbx]
mov qword [rsp + 0x40], r14
test ax, ax
je 0x1400b0bb0
movzx edx, ax
mov rcx, rsi
shr edx, 8
call fcn.14009e830
test eax, eax
jne 0x1400b0ba3
cmp dword [rsi + 0x14], 0x303
movzx edx, word [rbx]
jne 0x1400b0ba3
mov eax, edx
shr eax, 8
dec eax
cmp eax, 5
ja case.default.0x1400b0b78
cdqe
mov ecx, dword [rbp + rax*4 + 0xb0db8]
add rcx, rbp
jmp rcx
movzx ecx, dl
sub ecx, 1
je 0x1400b0b87
cmp ecx, 2
jne case.default.0x1400b0b78
mov eax, 1
jmp 0x1400b0b91
mov eax, r13d
test eax, eax
je 0x1400b0ba3
add r12, 2
ror dx, 8
mov word [r12 + rdi + 3], dx
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x1400b0b42
movzx eax, r12w
lea r14, [rdi + 5]
ror ax, 8
add r12, 2
mov word [rdi + 3], ax
add r14, r12
mov rax, qword [rsi]
cmp byte [rax + 0x12], 1
jne 0x1400b0cdd
mov rcx, qword [rsi + 0x70]
mov rdi, qword [rcx + 0x968]
test rdi, rdi
jne 0x1400b0c10
mov rdi, qword [rax + 0x188]
test rdi, rdi
jne 0x1400b0c10
mov rdi, qword [rcx + 0x358]
test rdi, rdi
jne 0x1400b0c10
mov rdi, qword [rax + 0xd0]
test rdi, rdi
je 0x1400b0cdd
nop dword [rax]
cmp dword [rdi + 0x38], 0
je 0x1400b0cdd
movzx ebp, word [rdi + 0x90]
cmp r15, r14
jb 0x1400b0cb7
mov rcx, qword [rsp + 0x80]
lea rax, [rbp + 2]
sub rcx, r14
cmp rcx, rax
jb 0x1400b0cb7
movzx eax, bp
mov r8d, ebp
ror ax, 8
mov word [r14], ax
add r14, 2
mov rdx, qword [rdi + 0x98]
mov rcx, r14
mov rbx, r14
call sub.VCRUNTIME140.dll_memcpy
lea rax, str.requested_DN
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov r9d, 0x9e9
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rsi
add r14, rbp
call fcn.1400b2dd0
mov rdi, qword [rdi + 0x260]
add bp, 2
mov r15, qword [rsp + 0x80]
add r13w, bp
test rdi, rdi
jne 0x1400b0c10
jmp 0x1400b0cdd
lea rax, str.skipping_CAs:_buffer_too_short
mov r9d, 0x9e0
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rsi
call fcn.1400b3650
mov rax, qword [rsi + 0x178]
mov edx, 1
sub r14, qword [rsp + 0x88]
mov r8d, edx
mov qword [rsi + 0x188], r14
mov rcx, rsi
mov dword [rsi + 0x180], socket
mov byte [rax], reloc.WS2_32.dll_listen
mov rax, qword [rsi + 0x178]
ror r13w, 8
mov word [rax + r12 + 7], r13w
call fcn.1400a6300
mov ebx, eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.__write_certificate_request
mov r9d, 0x9f7
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1400b3650
mov r14, qword [rsp + 0x40]
mov eax, ebx
jmp 0x1400b0b15
lea rax, str.__skip_write_certificate_request
mov r9d, 0x96b
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rsi
call fcn.1400b3650
mov rbp, qword [rsp + 0x90]
xor eax, eax
add rsp, 0x60
pop r15
pop rsi
pop rbx
ret
push rbp
push rdi
push r14
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x1400f9b40]
xor rax, rsp
mov qword [rbp - 0x10], rax
lea rax, [0x1400e5268]
mov r9d, 0x873
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rdi, rcx
call fcn.1400b3650
mov rcx, qword [rdi]
movzx r9d, byte [rcx + 9]
cmp r9b, 1
jne 0x1400b1119
mov rax, qword [rdi + 0x70]
cmp byte [rax + 0x3f9], 0
je 0x1400b1119
lea rax, str.client_hello_was_not_authenticated
mov r9d, 0x878
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.1400b3650
lea rax, str.__write_server_hello
mov r9d, 0x879
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.1400b3650
mov rcx, rdi
call fcn.1400b0dd0
jmp 0x1400b19f7
cmp qword [rcx + 0x30], 0
jne 0x1400b1150
lea rax, str.no_RNG_provided
mov r9d, 0x880
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov eax, 0xffff8c00
jmp 0x1400b19f7
mov r8d, dword [rdi + 0x14]
mov edx, r9d
mov qword [rsp + 0x138], rbx
mov qword [rsp + 0x140], rsi
mov qword [rsp + 0x108], r13
mov r13, qword [rdi + 0x178]
lea rcx, [r13 + 4]
lea rsi, [r13 + 4]
call fcn.1400a6d50
movzx eax, byte [r13 + 5]
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
movzx ecx, byte [r13 + 4]
mov r9d, 0x892
mov dword [rsp + 0x30], eax
mov edx, 3
mov dword [rsp + 0x28], ecx
lea rax, str.server_hello__chosen_version:___d:_d_
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.1400b3650
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov qword [rsp + 0x28], rax
mov r9d, 0x89a
mov ecx, eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
bswap ecx
mov dword [r13 + 6], ecx
lea rax, str.server_hello__current_time:__lld
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov edx, 3
call fcn.1400b3650
mov rax, qword [rdi]
lea rdx, [r13 + 0xa]
mov r8d, 0x1c
mov rcx, qword [rax + 0x38]
call qword [rax + 0x30]
test eax, eax
jne 0x1400b19df
mov rax, qword [rdi + 0x70]
lea rcx, [r13 + 6]
movups xmm0, xmmword [rcx]
mov qword [rsp + 0x100], r15
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov r15d, 0x20
mov r9d, 0x8ab
movups xmmword [rax + 0x508], xmm0
mov qword [rsp + 0x30], r15
movups xmm1, xmmword [rcx + 0x10]
mov qword [rsp + 0x28], rcx
lea edx, [r15 - 0x1d]
mov rcx, rdi
movups xmmword [rax + 0x518], xmm1
lea rax, str.server_hello__random_bytes
mov qword [rsp + 0x20], rax
call fcn.1400b2dd0
mov rax, qword [rdi + 0x70]
mov rbx, qword [rdi + 0x68]
cmp byte [rax], 1
je 0x1400b139e
cmp qword [rbx + 0x18], 0
je 0x1400b139e
mov rax, qword [rdi]
cmp qword [rax + 0x40], 0
je 0x1400b139e
cmp dword [rdi + 0xc], 0
jne 0x1400b139e
lea rcx, [rsp + 0x50]
call fcn.14009e620
mov rax, qword [rdi]
lea rdx, [rbx + 0x20]
mov r8, qword [rbx + 0x18]
lea r9, [rsp + 0x50]
mov rcx, qword [rax + 0x50]
call qword [rax + 0x40]
test eax, eax
jne 0x1400b1394
mov eax, dword [rsp + 0x60]
cmp dword [rbx + 0x10], eax
jne 0x1400b1394
mov rcx, rbx
call fcn.14009e5d0
movaps xmm0, xmmword [rsp + 0x50]
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
movups xmmword [rbx], xmm0
lea edx, [r15 - 0x1d]
xor eax, eax
movaps xmm1, xmmword [rsp + 0x60]
mov r9d, 0x861
movups xmmword [rbx + 0x10], xmm1
mov rcx, rdi
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [rbp - 0x80]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [rbp - 0x70]
movups xmmword [rbx + 0x40], xmm0
movaps xmm1, xmmword [rbp - 0x60]
movups xmmword [rbx + 0x50], xmm1
movaps xmm0, xmmword [rbp - 0x50]
movups xmmword [rbx + 0x60], xmm0
movaps xmm1, xmmword [rbp - 0x40]
movups xmmword [rbx + 0x70], xmm1
movaps xmm0, xmmword [rbp - 0x30]
movups xmmword [rbx + 0x80], xmm0
movsd xmm1, qword [rbp - 0x20]
xorps xmm0, xmm0
movsd qword [rbx + 0x90], xmm1
mov qword [rbp - 0x20], rax
lea rax, str.session_successfully_restored_from_cache
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
call fcn.1400b3650
mov rax, qword [rdi + 0x70]
mov byte [rax], 1
lea rcx, [rsp + 0x50]
call fcn.14009e5d0
mov rax, qword [rdi + 0x70]
xor r14d, r14d
cmp byte [rax], r14b
jne 0x1400b156a
inc dword [rdi + 8]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, qword [rdi + 0x68]
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x70]
mov rcx, qword [rdi + 0x68]
cmp byte [rax + 4], r14b
je 0x1400b1545
mov qword [rcx + 0x18], r14
xorps xmm0, xmm0
mov rax, qword [rdi + 0x68]
mov r15d, r14d
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov rax, qword [rdi + 0x68]
movzx ecx, byte [rax + 0x18]
mov byte [rsi + 0x22], cl
add rsi, 0x23
mov r8, qword [rdi + 0x68]
mov rcx, rsi
lea rdx, [r8 + 0x20]
mov r8, qword [r8 + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 0x68]
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x28], r15
mov r9d, 0x8e0
mov edx, 3
mov rcx, rdi
add rsi, qword [rax + 0x18]
lea rax, str.server_hello__session_id_len.:__zu
mov qword [rsp + 0x20], rax
call fcn.1400b3650
lea rax, [r13 + 0x27]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.server_hello__session_id
mov r9d, 0x8e1
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1400b2dd0
mov rax, qword [rdi + 0x70]
lea rdx, [0x1400c4520]
lea rcx, [0x1400e3d34]
mov r9d, 0x8e3
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
cmp byte [rax], r14b
lea rax, str._s_session_has_been_resumed
cmovne rcx, rdx
mov edx, 3
mov qword [rsp + 0x28], rcx
mov rcx, rdi
mov qword [rsp + 0x20], rax
call fcn.1400b3650
mov rax, qword [rdi + 0x68]
movzx ecx, word [rax + 0x10]
ror cx, 8
mov word [rsi], cx
mov byte [rsi + 2], r14b
add rsi, 3
mov rcx, qword [rdi + 0x68]
mov ecx, dword [rcx + 0x10]
call fcn.14009b030
mov qword [rsp + 0x28], rax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.server_hello__chosen_ciphersuite:__s
mov r9d, 0x8ea
mov edx, 3
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1400b3650
lea rax, str.server_hello__compress_alg.:_0x_02X
mov qword [rsp + 0x28], r14
mov r9d, 0x8ec
mov qword [rsp + 0x20], rax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
cmp dword [rdi + 0x1c8], 1
lea r15, [rsi + 2]
je 0x1400b15ba
mov rbx, r14
jmp 0x1400b1656
mov qword [rcx + 0x18], r15
mov r8, r15
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x68]
add rdx, r15
mov rcx, qword [rax + 0x38]
call qword [rax + 0x30]
test eax, eax
je 0x1400b13e9
jmp 0x1400b19d7
mov rax, qword [rdi + 0x68]
mov rcx, rdi
mov r15, qword [rax + 0x18]
mov dword [rdi + 8], recv
call fcn.14009baf0
mov ebx, eax
test eax, eax
je 0x1400b13e9
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_ssl_derive_keys
mov r9d, 0x8cf
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1400b3710
jmp 0x1400b19d5
lea rax, str.server_hello__secure_renegotiation_extension
mov r9d, 0x72a
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
mov word [r15], 0x1ff
lea rbx, [r15 + 3]
mov eax, dword [rdi + 0xc]
mov byte [r15 + 2], r14b
test eax, eax
je 0x1400b164a
movzx eax, byte [rdi + 0x1d0]
lea rdx, [rdi + 0x1e4]
add al, al
inc al
mov byte [rbx], al
movzx eax, byte [rdi + 0x1d0]
add al, al
mov byte [rbx + 1], al
add rbx, 2
mov r8, qword [rdi + 0x1d0]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rdi + 0x1d0]
lea rdx, [rdi + 0x1d8]
add rbx, r8
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, qword [rdi + 0x1d0]
jmp 0x1400b1653
mov word [rbx], 1
add rbx, 2
sub rbx, r15
mov rax, qword [rdi + 0x68]
cmp byte [rax], r14b
jne 0x1400b1664
mov rax, r14
jmp 0x1400b16a2
lea rax, str.server_hello__max_fragment_length_extension
mov r9d, 0x750
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
mov dword [rbx + rsi + 2], 0x1000100
mov rax, qword [rdi + 0x68]
movzx ecx, byte [rax]
mov eax, 5
mov byte [rbx + rsi + 6], cl
mov rcx, qword [rdi + 0x178]
lea r15, [rsi + 2]
add rbx, rax
mov rdx, r14
mov rax, qword [rdi + 0x70]
add r15, rbx
add rcx, 0x4000
mov qword [rsp + 0x40], rdx
cmp byte [rax + 0x438], r14b
je 0x1400b178e
cmp rcx, r15
jb 0x1400b1763
movzx eax, byte [rdi + 0x210]
sub rcx, r15
add rax, 5
cmp rcx, rax
jb 0x1400b1763
lea rax, str.server_hello__adding_CID_extension
mov r9d, 0x6ac
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
mov word [r15], 0x3600
lea rdx, [rdi + 0x1f0]
movzx eax, byte [rdi + 0x210]
lea rcx, [r15 + 5]
inc ax
ror ax, 8
mov word [r15 + 2], ax
movzx eax, byte [rdi + 0x210]
mov byte [r15 + 4], al
movzx r8d, byte [rdi + 0x210]
call sub.VCRUNTIME140.dll_memcpy
movzx edx, byte [rdi + 0x210]
add rdx, 5
mov qword [rsp + 0x40], rdx
jmp 0x1400b178e
lea rax, str.buffer_too_small
mov r9d, 0x6a8
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdi + 0x68]
add rbx, rdx
mov ecx, dword [rcx + 0x10]
call fcn.14009af80
mov rcx, qword [rdi + 0x68]
test rax, rax
jne 0x1400b17af
mov dword [rcx + 0x94], r14d
jmp 0x1400b17cd
mov ecx, dword [rcx + 0x94]
mov rdx, rax
call fcn.14009c5f0
cmp eax, 2
je 0x1400b17cd
mov rax, qword [rdi + 0x68]
mov dword [rax + 0x94], r14d
mov rax, qword [rdi + 0x68]
mov r15d, 4
cmp dword [rax + 0x94], r14d
jne 0x1400b17e5
mov rax, r14
jmp 0x1400b1816
lea rax, str.server_hello__adding_encrypt_then_mac_extension
mov r9d, 0x6e2
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
mov rax, r15
mov dword [rsi + rbx + 2], 0x1600
add rbx, rax
mov rax, qword [rdi + 0x70]
cmp byte [rax + 0xc], r14b
jne 0x1400b1828
mov rax, r14
jmp 0x1400b1859
lea rax, str.server_hello__adding_extended_master_secret_extension
mov r9d, 0x6fb
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
mov rax, r15
mov dword [rsi + rbx + 2], 0x1700
add rbx, rax
mov rax, qword [rdi + 0x70]
cmp byte [rax + 4], r14b
jne 0x1400b186b
mov r15, r14
jmp 0x1400b1899
lea rax, str.server_hello__adding_session_ticket_extension
mov r9d, 0x713
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
mov dword [rsi + rbx + 2], 0x2300
mov rcx, qword [rdi + 0x68]
add rbx, r15
mov qword [rsp + 0x40], r15
mov ecx, dword [rcx + 0x10]
call fcn.14009af80
test rax, rax
je 0x1400b1916
mov rcx, rax
call fcn.14009afb0
test eax, eax
je 0x1400b1916
mov rax, qword [rdi + 0x70]
test byte [rax + 1], 1
je 0x1400b190e
lea rax, str.server_hello__supported_point_formats_extension
mov r9d, 0x76d
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
mov word [rsi + rbx + 2], 0xb00
lea rax, [rsi + rbx]
mov byte [rax + 7], r14b
mov byte [rsi + rbx + 4], r14b
mov r14d, 6
mov word [rax + 5], 0x102
mov qword [rsp + 0x40], r14
add rbx, r14
lea rdx, [rsi + 2]
mov rcx, rdi
add rdx, rbx
lea r8, [r13 + 0x3ffc]
lea r9, [rsp + 0x40]
call fcn.14009ed80
test eax, eax
jne 0x1400b19d7
add rbx, qword [rsp + 0x40]
lea rax, str.server_hello__total_extension_length:__zu
mov qword [rsp + 0x28], rbx
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov r9d, 0x92c
mov qword [rsp + 0x20], rax
mov edx, 3
mov rcx, rdi
call fcn.1400b3650
test rbx, rbx
je 0x1400b197f
movzx eax, bx
ror ax, 8
mov word [rsi], ax
add rsi, 2
add rsi, rbx
mov rax, qword [rdi + 0x178]
mov edx, 1
mov dword [rdi + 0x180], socket
sub rsi, r13
mov qword [rdi + 0x188], rsi
mov r8d, edx
mov rcx, rdi
mov byte [rax], 2
call fcn.1400a6300
mov ebx, eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.__write_server_hello
mov r9d, 0x939
mov edx, 2
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1400b3650
mov eax, ebx
mov r15, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x138]
mov r13, qword [rsp + 0x108]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14009a250
add rsp, 0x110
pop r14
pop rdi
pop rbp
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:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
xor esi, esi
mov r9d, 0xc6a
mov qword [rsp + 0x60], rsi
mov rdi, rcx
mov rbx, qword [rax + 0x10]
lea rax, [0x1400e54f0]
lea edx, [rsi + 2]
mov qword [rsp + 0x20], rax
call fcn.1400b3650
movzx edx, byte [rbx + 0x12]
mov ecx, edx
sub ecx, 1
je 0x1400b1bfb
sub ecx, 4
je 0x1400b1bfb
sub ecx, 2
je 0x1400b1bfb
sub ecx, 2
je 0x1400b1bfb
cmp ecx, 1
je 0x1400b1bfb
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1400b02b0
mov ebx, eax
test eax, eax
je 0x1400b1aee
cmp eax, 0xffff9b00
jne 0x1400b1ad5
lea rax, str.__write_server_key_exchange__pending_
mov r9d, 0xc99
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
lea edx, [rsi + 2]
mov rcx, rdi
call fcn.1400b3650
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
mov qword [rdi + 0x188], 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 0x1400b1b84
mov rcx, qword [rdi + 0x188]
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rax, qword [rdi + 0x178]
mov r9d, 0xcaa
shr rdx, 8
mov byte [rcx + rax], dl
inc qword [rdi + 0x188]
mov rdx, qword [rdi + 0x188]
mov rcx, qword [rdi + 0x178]
movzx eax, byte [rsp + 0x60]
mov byte [rdx + rcx], al
mov rcx, rdi
mov rax, qword [rsp + 0x60]
inc qword [rdi + 0x188]
mov rdx, qword [rdi + 0x188]
add rdx, qword [rdi + 0x178]
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.1400b2dd0
mov rax, qword [rsp + 0x60]
add qword [rdi + 0x188], rax
mov rax, qword [rdi + 0x178]
mov edx, 1
mov dword [rdi + 0x180], socket
mov r8d, edx
mov rcx, rdi
mov byte [rax], listen
inc dword [rdi + 8]
call fcn.1400a6300
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov ebx, eax
mov rcx, rdi
test eax, eax
je 0x1400b1bcd
lea rax, str.mbedtls_ssl_write_handshake_msg
mov r9d, 0xcb8
jmp 0x1400b1d94
lea rax, str.__write_server_key_exchange
mov r9d, 0xcbc
mov edx, 2
mov qword [rsp + 0x20], rax
call fcn.1400b3650
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
sub edx, 9
je 0x1400b1c09
cmp edx, 1
jne 0x1400b1d17
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1400b1c1e
mov rax, qword [rax + 0x348]
test rax, rax
jne 0x1400b1c31
mov rax, qword [rdi]
mov rax, qword [rax + 0xc8]
test rax, rax
je 0x1400b1d52
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400b1d52
mov edx, 2
call fcn.140068a10
test eax, eax
jne 0x1400b1c7c
lea rax, str.server_key_not_ECDH_capable
mov r9d, 0xa70
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov ebx, 0xffff9300
jmp 0x1400b1d7d
mov rax, qword [rdi + 0x70]
test rax, rax
je 0x1400b1c91
mov rax, qword [rax + 0x348]
test rax, rax
jne 0x1400b1ca5
mov rax, qword [rdi]
mov rax, qword [rax + 0xc8]
test rax, rax
jne 0x1400b1ca5
mov rax, rsi
jmp 0x1400b1ca9
mov rax, qword [rax + 8]
movups xmm0, xmmword [rax]
lea rcx, [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
call fcn.140068b40
sub eax, 2
je 0x1400b1cca
sub eax, 1
je 0x1400b1cca
cmp eax, 1
jne 0x1400b1ccf
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rdi + 0x70]
xor r8d, r8d
add rcx, 0x160
mov rdx, rsi
call fcn.1400910c0
mov ebx, eax
test eax, eax
je 0x1400b1d17
mov dword [rsp + 0x28], eax
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
lea rax, str.mbedtls_ecdh_get_params
mov r9d, 0xa77
mov edx, 1
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.1400b3710
jmp 0x1400b1d7d
lea rax, str.__skip_write_server_key_exchange
mov r9d, 0xc7e
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 2
mov rcx, rdi
call fcn.1400b3650
inc dword [rdi + 8]
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
lea rax, str.got_no_server_private_key
mov r9d, 0xa6b
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov qword [rsp + 0x20], rax
mov edx, 1
mov rcx, rdi
call fcn.1400b3650
mov ebx, 0xffff8a00
lea rax, str.ssl_get_ecdh_params_from_cert
mov r9d, 0xc76
lea r8, str.C:FantasyFGCLauncherCPPlibmbedtlslibrary_ssl_tls12_server.c
mov rcx, rdi
mov dword [rsp + 0x28], ebx
mov edx, 1
mov qword [rsp + 0x20], rax
call fcn.1400b3710
mov rsi, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
add rsp, 0x50
pop rdi
ret