Function at 0x18019b1d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd8]
sub rsp, 0x1d8
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov edi, r9d
mov dword [rsp + 0x68], r9d
mov rsi, r8
mov qword [rsp + 0x60], r8
mov r15, rdx
mov r13, rcx
mov qword [rsp + 0x70], rcx
mov r12, qword [rbp + 0x140]
mov qword [rbp - 0x10], r12
mov rbx, qword [rbp + 0x148]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rax
movzx r9d, byte [rbx + 0x16a]
lea r8, str.readTlsRecord
mov rdx, rbx
lea rcx, [rbp - 0x68]
call fcn.180029f80
nop
xor r14d, r14d
mov qword [r15 + 0x780], r14
mov dword [r15 + 0x788], r14d
mov byte [r15 + 0x78c], r14b
lea rcx, [r15 + 0x7c0]
call fcn.18001d560
lea rcx, [r15 + 0x790]
call fcn.18001d560
lea rcx, [r15 + 0x7f0]
call fcn.18001d560
mov dword [rbp - 0x70], r14d
lea r14, [r13 + 0xd0]
mov rcx, r14
call fcn.18001d560
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov r9d, edi
mov r8, r14
mov edx, 5
mov rcx, rsi
call fcn.1801ca490
movzx edi, al
test al, al
je 0x18019c5a5
mov rcx, r14
call fcn.18001fd80
cmp eax, 5
jne 0x18019c5a5
mov rcx, r14
call fcn.18001f920
mov rdi, rax
movzx eax, byte [rax]
mov r10d, 0x20
test al, al
jns 0x18019b8df
cmp byte [rdi + 2], 1
jne 0x18019b8df
mov rax, qword [rbx]
lea rdx, str.Received_SSL_2.0_ClientHello.
mov rcx, rbx
call qword [rax + 0x30]
cmp byte [rdi + 2], 1
jne 0x18019b357
mov rax, qword [rbx]
lea rdx, str.Cannot_accept_SSL_2.0_connections.
mov rcx, rbx
call qword [rax + 0x28]
mov qword [rsp + 0x20], rbx
mov r9, rsi
mov r8d, 0x47
mov rdx, r12
mov rcx, r15
call fcn.1801ae4e0
mov dword [r12 + 0x44], 0x7d
jmp 0x18019c660
movzx ecx, byte [rdi]
mov esi, ecx
and esi, 0x7f
shl esi, 8
movzx eax, byte [rdi + 1]
or esi, eax
cmp byte [rbx + 0x16a], 0
je 0x18019b386
mov r8d, esi
lea rdx, str.recLen
mov rcx, rbx
call fcn.18002a810
movzx ecx, byte [rdi]
mov dword [rsp + 0x7c], 2
test cl, cl
js 0x18019b3d8
movzx eax, byte [rdi + 3]
mov byte [rbp - 0x7c], al
movzx eax, byte [rdi + 4]
mov byte [rbp - 0x7b], al
movzx eax, byte [rdi + 2]
mov dword [rbp - 0x20], eax
lea edi, [rsi - 2]
cmp byte [rbx + 0x16a], 0
je 0x18019b423
mov rax, qword [rbx]
lea rdx, str.3_byte_record_header...
mov rcx, rbx
call qword [rax + 0x30]
mov r8d, dword [rbp - 0x20]
lea rdx, str.paddingLen
mov rcx, rbx
call fcn.18002a810
jmp 0x18019b411
movzx eax, byte [rdi + 2]
mov byte [rbp - 0x7c], al
movzx eax, byte [rdi + 3]
mov byte [rbp - 0x7b], al
movzx eax, byte [rdi + 4]
mov byte [rbp - 0x7a], al
lea edi, [rsi - 3]
mov dword [rsp + 0x7c], 3
cmp byte [rbx + 0x16a], 0
je 0x18019b423
mov rax, qword [rbx]
lea rdx, str.2_byte_record_header...
mov rcx, rbx
call qword [rax + 0x30]
mov r8d, edi
lea rdx, str.nToRead
mov rcx, rbx
call fcn.18002a810
mov rcx, r14
call fcn.18001d560
mov r8d, dword [rsp + 0x7c]
lea rdx, [rbp - 0x7c]
mov rcx, r14
call fcn.18001b830
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov r9d, dword [rsp + 0x68]
mov r8, r14
mov edx, edi
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.1801ca490
mov byte [rsp + 0x78], al
test al, al
je 0x18019b889
mov rcx, r14
call fcn.18001fd80
cmp eax, esi
jne 0x18019b889
mov rcx, r14
call fcn.18001f920
mov r14, rax
mov byte [r15 + 0x820], 1
lea rcx, [r15 + 0x4a8]
lea rdx, [r13 + 0xd0]
call fcn.18001b7c0
cmp byte [rbx + 0x16a], 0
je 0x18019b4e5
lea rcx, [r13 + 0xd0]
call fcn.18001fd80
mov edi, eax
lea rcx, [r13 + 0xd0]
call fcn.18001f920
mov r8, rax
mov r9d, edi
lea rdx, str.fullRecord
mov rcx, rbx
call fcn.18002a590
mov rdi, qword [rsp + 0x60]
mov dword [r15 + 0x780], 0x16
movzx eax, byte [r14 + 1]
mov dword [r15 + 0x784], eax
movzx eax, byte [r14 + 2]
mov dword [r15 + 0x788], eax
call fcn.180199da0
mov rsi, rax
test rax, rax
je 0x18019c660
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rax
lea rcx, [rbp]
call fcn.1800411c0
nop
mov qword [rbp + 0x10], rsi
mov eax, dword [r15 + 0x784]
mov dword [rsi + 0x48], eax
mov eax, dword [r15 + 0x788]
mov dword [rsi + 0x4c], eax
movzx r8d, byte [r14 + 3]
shl r8d, 8
movzx eax, byte [r14 + 4]
or r8d, eax
mov dword [rbp - 0x20], r8d
movzx r9d, byte [r14 + 5]
shl r9d, 8
movzx eax, byte [r14 + 6]
or r9d, eax
mov dword [rsp + 0x7c], r9d
movzx r10d, byte [r14 + 7]
shl r10d, 8
movzx eax, byte [r14 + 8]
or r10d, eax
mov dword [rsp + 0x68], r10d
cmp byte [rbx + 0x16a], 0
je 0x18019b5d7
lea rdx, str.cipherListLen
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rsp + 0x7c]
lea rdx, str.sessionIdLen
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rsp + 0x68]
lea rdx, str.challengeLen
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rbp - 0x20]
mov r9d, dword [rsp + 0x7c]
mov r10d, dword [rsp + 0x68]
lea eax, [r8 - 3]
cmp eax, 0xbd
ja 0x18019b851
mov eax, 0xaaaaaaab
mul r8d
shr edx, 1
lea ecx, [rdx + rdx*2]
cmp r8d, ecx
jne 0x18019b851
cmp r9d, 0x20
jbe 0x18019b63a
mov rax, qword [rbx]
lea rdx, str.Invalid_session_ID_length
mov rcx, rbx
call qword [rax + 0x28]
mov qword [rsp + 0x20], rbx
mov r9, rdi
mov r8d, 0xa
mov rdx, r12
mov rcx, r15
call fcn.1801ae4e0
nop
lea rcx, [rbp]
call fcn.180041270
jmp 0x18019c660
lea eax, [r10 - 8]
cmp eax, 0x18
ja 0x18019b819
add r14, 9
mov dword [rbp - 0x18], 0
test edx, edx
je 0x18019b74c
mov r13d, dword [rbp - 0x18]
mov r12d, edx
lea edx, [r13*2]
add edx, r13d
lea eax, [rdx + 2]
movzx edi, byte [rax + r14]
lea eax, [rdx + 1]
movzx r8d, byte [rax + r14]
movzx ecx, byte [rdx + r14]
shl ecx, 8
or r8d, ecx
mov dword [rbp - 0x18], r8d
cmp byte [rbx + 0x16a], 0
je 0x18019b6bd
mov r8d, edi
lea rdx, str.cipherKind
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rbp - 0x18]
lea rdx, str.key_len
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rbp - 0x18]
mov word [rbp - 0x80], 0x400
mov word [rsp + 0x78], 0x500
mov word [rbp - 0x78], 0xa00
mov word [rbp - 0x74], 0x2f00
mov word [rbp - 0x6c], 0x3500
test r8d, r8d
jne 0x18019b72e
cmp dil, 4
jne 0x18019b6ed
lea rdx, [rbp - 0x80]
jmp 0x18019b71c
cmp dil, 5
jne 0x18019b6fa
lea rdx, [rsp + 0x78]
jmp 0x18019b71c
cmp dil, 0xa
jne 0x18019b706
lea rdx, [rbp - 0x78]
jmp 0x18019b71c
cmp dil, 0x2f
jne 0x18019b712
lea rdx, [rbp - 0x74]
jmp 0x18019b71c
cmp dil, 0x35
jne 0x18019b72e
lea rdx, [rbp - 0x6c]
mov r8d, 2
lea rcx, [rsi + 0xb0]
call fcn.18001b830
inc r13d
cmp r13d, r12d
jb 0x18019b661
mov r13, qword [rsp + 0x70]
mov r12, qword [rbp - 0x10]
mov r8d, dword [rbp - 0x20]
mov r9d, dword [rsp + 0x7c]
mov eax, r8d
add r14, rax
lea rcx, [rsi + 0x80]
mov r8d, r9d
mov rdx, r14
call fcn.18001b830
mov edx, dword [rsp + 0x7c]
add rdx, r14
lea rcx, [rsi + 0x50]
mov r8d, dword [rsp + 0x68]
call fcn.18001b830
lea rcx, [rsi + 0xe0]
xor edx, edx
call fcn.18001baf0
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x50]
call fcn.18001b1b0
nop
lea rax, [r15 + 0x790]
mov qword [rsp + 0x68], rax
lea rcx, [r15 + 0x180]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r12
movzx eax, byte [r15 + 0xba]
mov byte [rsp + 0x38], al
movzx eax, byte [r15 + 0xec]
mov byte [rsp + 0x30], al
mov qword [rsp + 0x28], rcx
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rdx, r15
mov rcx, rsi
call fcn.180197740
nop
lea rcx, [rbp - 0x50]
call fcn.18001b360
nop
lea rcx, [rbp]
call fcn.180041270
lea rsi, [r15 + 0x790]
jmp 0x18019ba8a
mov rax, qword [rbx]
lea rdx, str.Invalid_challenge_length
mov rcx, rbx
call qword [rax + 0x28]
mov qword [rsp + 0x20], rbx
mov r9, rdi
mov r8d, 0xa
mov rdx, r12
mov rcx, r15
call fcn.1801ae4e0
nop
lea rcx, [rbp]
call fcn.180041270
jmp 0x18019c660
mov rax, qword [rbx]
lea rdx, str.Invalid_cipher_list_length
mov rcx, rbx
call qword [rax + 0x28]
mov qword [rsp + 0x20], rbx
mov r9, rdi
mov r8d, 0xa
mov rdx, r12
mov rcx, r15
call fcn.1801ae4e0
nop
lea rcx, [rbp]
call fcn.180041270
jmp 0x18019c660
mov rax, qword [rbx]
lea rdx, str.Failed_to_read_TLS_record__1_
mov rcx, rbx
call qword [rax + 0x28]
movzx r8d, byte [rsp + 0x78]
lea rdx, [0x180229620]
mov rcx, rbx
call fcn.18002a810
mov r8d, esi
lea rdx, str.recLen
mov rcx, rbx
call fcn.18002a810
mov rcx, r14
call fcn.18001fd80
mov r8d, eax
lea rdx, str.dbSize
mov rcx, rbx
call fcn.18002a810
jmp 0x18019c660
mov edx, eax
mov dword [r15 + 0x780], eax
movzx r9d, byte [rdi + 1]
mov dword [r15 + 0x784], r9d
movzx r8d, byte [rdi + 2]
lea r11, [r15 + 0x788]
mov dword [r11], r8d
movzx ecx, byte [rdi + 3]
and ecx, 0x7f
movzx eax, byte [rdi + 4]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x7c], ecx
cmp byte [rbx + 0x16a], 0
je 0x18019ba2f
cmp r9b, 3
jne 0x18019b974
test r8b, r8b
jne 0x18019b938
lea rdi, str.SSL_3.0
jmp 0x18019b9a4
cmp r8b, 1
jne 0x18019b947
lea rdi, str.TLS_1.0
jmp 0x18019b9a4
cmp r8b, 2
jne 0x18019b956
lea rdi, str.TLS_1.1
jmp 0x18019b9a4
cmp r8b, 3
jne 0x18019b965
lea rdi, str.TLS_1.2
jmp 0x18019b9a4
cmp r8b, 4
jne 0x18019b974
lea rdi, str.TLS_1.3
jmp 0x18019b9a4
mov qword [rsp + 0x20], r11
lea r9, [r15 + 0x784]
lea r8, str.v_d._d
mov edx, r10d
lea rcx, [rbp]
call fcn.180056e60
lea rdi, [rbp]
mov edx, dword [r15 + 0x780]
mov r10d, 0x20
cmp edx, 0x14
jne 0x18019b9b2
lea rax, str.ChangeCipherSpec
jmp 0x18019b9fb
cmp edx, 0x15
jne 0x18019b9c0
lea rax, str.Alert
jmp 0x18019b9fb
cmp edx, 0x16
jne 0x18019b9ce
lea rax, str.Handshake
jmp 0x18019b9fb
cmp edx, 0x17
je 0x18019ba2f
lea r9, [r15 + 0x780]
lea r8, str.ct_d
mov edx, r10d
lea rcx, [rbp - 0x50]
call fcn.180056d80
lea rax, [rbp - 0x50]
cmp dword [r15 + 0x780], 0x17
je 0x18019ba2f
lea rcx, [rsp + 0x7c]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9, rdi
lea r8, str._s___s__sz_d
mov edx, 0x80
lea rcx, [rbp + 0x40]
call fcn.180056f50
mov rax, qword [rbx]
lea rdx, [rbp + 0x40]
mov rcx, rbx
call qword [rax + 0x30]
lea r14, [r15 + 0x790]
mov rcx, r14
call fcn.18001d560
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov r9d, dword [rsp + 0x68]
mov r8, r14
mov edx, dword [rsp + 0x7c]
mov rcx, rsi
call fcn.1801ca490
movzx edi, al
test al, al
je 0x18019c521
mov rsi, r14
mov qword [rsp + 0x68], r14
mov rcx, r14
call fcn.18001fd80
cmp eax, dword [rsp + 0x7c]
jne 0x18019c521
cmp dword [r15 + 0x780], 0x14
jne 0x18019baa6
cmp dword [r15 + 0x64], 3
jne 0x18019baa6
cmp dword [r15 + 0x68], 4
je 0x18019c511
cmp byte [r13 + 0x104], 0
je 0x18019c2a8
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x50]
call fcn.18001b1b0
nop
cmp dword [r15 + 0x64], 3
jne 0x18019bae0
cmp dword [r15 + 0x68], 4
jne 0x18019bae0
mov dil, 1
jmp 0x18019bae3
xor dil, dil
mov byte [rsp + 0x78], dil
mov eax, dword [r13 + 0x120]
cmp eax, 6
jne 0x18019bda1
mov rcx, rsi
call fcn.18001fd80
mov dword [rsp + 0x68], eax
lea rcx, [r13 + 0x788]
call fcn.18001d560
movzx eax, dil
xor eax, 1
lea eax, [rax*8 + 0x10]
cmp dword [rsp + 0x68], eax
jae 0x18019bb72
mov rax, qword [rbx]
lea rdx, str.GCM_fragment_not_large_enough.
mov rcx, rbx
call qword [rax + 0x28]
mov r8d, dword [rsp + 0x68]
lea rdx, str.tlsMsgLen
mov rcx, rbx
call fcn.18002a810
mov qword [rsp + 0x20], rbx
mov r9, qword [rsp + 0x60]
mov r8d, shutdown
mov rdx, r12
mov rcx, r15
call fcn.1801ae4e0
nop
lea rcx, [rbp - 0x50]
call fcn.18001b360
jmp 0x18019c660
mov rcx, rsi
call fcn.18001fd80
test dil, dil
je 0x18019bb83
mov edi, eax
jmp 0x18019bb9f
lea edi, [rax - 0x18]
lea rdx, [r13 + 0x178]
mov r8d, 8
lea rcx, [r13 + 0x788]
call fcn.18001b830
movzx eax, byte [r15 + 0x780]
mov byte [rbp - 0x20], al
movzx eax, byte [r15 + 0x784]
mov byte [rbp - 0x1f], al
movzx eax, byte [r15 + 0x788]
mov byte [rbp - 0x1e], al
mov eax, edi
shr eax, 8
mov byte [rbp - 0x1d], al
mov byte [rbp - 0x1c], dil
mov r8d, 5
lea rdx, [rbp - 0x20]
lea rcx, [r13 + 0x788]
call fcn.18001b830
cmp byte [rbx + 0x16b], 0
je 0x18019bc01
lea r8, [r13 + 0x788]
lea rdx, str.aesGcmAad
mov rcx, rbx
call fcn.18002a680
cmp dword [r15 + 0x64], 3
jne 0x18019bcac
cmp dword [r15 + 0x68], 4
jne 0x18019bcac
mov dword [rbp - 0x10], 0
mov rax, qword [r13 + 0x178]
mov qword [rbp - 0xc], rax
lea rcx, [r13 + 0x148]
call fcn.18001fd80
cmp eax, 0xc
je 0x18019bc59
mov rax, qword [rbx]
lea rdx, str.m_fixedIv_for_TLS_1.3_GCM_should_be_12_bytes
mov rcx, rbx
call qword [rax + 0x28]
nop
lea rcx, [rbp - 0x50]
call fcn.18001b360
jmp 0x18019c660
lea rcx, [r13 + 0x148]
call fcn.18001f920
mov r8, rax
xor edx, edx
lea rax, [rbp - 0x10]
sub r8, rax
lea rcx, [rbp - 0x10]
add rcx, rdx
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rdx
cmp rdx, 0xc
jl 0x18019bc71
cmp byte [rbx + 0x16b], 0
je 0x18019bcf2
mov r9d, reloc.WS2_32.dll_inet_ntoa
lea r8, [rbp - 0x10]
lea rdx, str.aesGcmNonce
mov rcx, rbx
call fcn.18002a590
jmp 0x18019bcf2
lea rcx, [r13 + 0x148]
call fcn.18001fd80
cmp eax, 4
je 0x18019bcd2
mov rax, qword [rbx]
lea rdx, str.GCM_fixed_IV_not_equal_to_4.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
lea rcx, [r13 + 0x148]
call fcn.18001f920
mov ecx, dword [rax]
mov dword [rbp - 0x10], ecx
mov rcx, rsi
call fcn.18001f920
mov rcx, qword [rax]
mov qword [rbp - 0xc], rcx
lea r14, [r13 + 0x708]
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.1800cff20
mov rcx, rsi
call fcn.18001f920
mov rdi, rax
mov eax, dword [rsp + 0x68]
add rdi, rax
lea rcx, [r13 + 0x7b8]
call fcn.18001d560
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rdi - 0x10]
lea rcx, [r13 + 0x7b8]
call fcn.18001b830
cmp byte [rbx + 0x16b], 0
je 0x18019bd5e
lea r8, [r13 + 0x7b8]
lea rdx, str.expected_aesGcmAuthTag
mov rcx, rbx
call fcn.18002a680
mov edx, reloc.WS2_32.dll_recv
mov rcx, rsi
call fcn.180021f00
lea rdx, [r13 + 0x180]
mov r9, rbx
mov r8, r14
mov rcx, qword [r13 + 0x830]
call fcn.18013f8d0
test al, al
jne 0x18019bf6b
mov rax, qword [rbx]
lea rdx, str.GCM_decrypt_setup_failed.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
cmp eax, 7
jne 0x18019bf6b
mov rcx, rsi
call fcn.18001fd80
mov dword [rbp - 0x20], eax
cmp eax, 0x10
jae 0x18019bdcf
mov rax, qword [rbx]
lea rdx, str.AEAD_fragment_not_large_enough.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
lea rcx, [r13 + 0x788]
call fcn.18001d560
mov rcx, rsi
call fcn.18001fd80
test dil, dil
je 0x18019bdec
mov edi, eax
jmp 0x18019be08
lea edi, [rax - 0x10]
lea rdx, [r13 + 0x178]
mov r8d, 8
lea rcx, [r13 + 0x788]
call fcn.18001b830
movzx eax, byte [r15 + 0x780]
mov byte [rbp - 0x18], al
movzx eax, byte [r15 + 0x784]
mov byte [rbp - 0x17], al
movzx eax, byte [r15 + 0x788]
mov byte [rbp - 0x16], al
mov eax, edi
shr eax, 8
mov byte [rbp - 0x15], al
mov byte [rbp - 0x14], dil
mov r8d, 5
lea rdx, [rbp - 0x18]
lea rcx, [r13 + 0x788]
call fcn.18001b830
mov dword [rbp - 0x10], 0
mov rax, qword [r13 + 0x178]
mov qword [rbp - 0xc], rax
lea rcx, [r13 + 0x148]
call fcn.18001fd80
cmp eax, 0xc
je 0x18019be83
mov rax, qword [rbx]
lea rdx, str.m_fixedIv_should_be_12_bytes
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb64
lea rcx, [r13 + 0x148]
call fcn.18001f920
mov r8, rax
xor edx, edx
lea rax, [rbp - 0x10]
sub r8, rax
nop dword [rax + rax]
lea rcx, [rbp - 0x10]
add rcx, rdx
movzx eax, byte [rcx + r8]
xor byte [rcx], al
inc rdx
cmp rdx, 0xc
jl 0x18019bea0
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, [rbp - 0x10]
lea rcx, [r13 + 0x708]
call fcn.1800cff20
mov rcx, rsi
call fcn.18001f920
mov rdi, rax
mov eax, dword [rbp - 0x20]
add rdi, rax
lea rcx, [r13 + 0x7b8]
call fcn.18001d560
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rdi - 0x10]
lea rcx, [r13 + 0x7b8]
call fcn.18001b830
mov edx, reloc.WS2_32.dll_recv
mov rsi, qword [rsp + 0x68]
mov rcx, rsi
call fcn.180021f00
mov rcx, qword [r13 + 0x830]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rbx
lea r9, [r13 + 0x180]
lea r8, [r13 + 0x708]
xor edx, edx
call qword [rax + 0x18]
mov rcx, qword [r13 + 0x830]
mov rax, qword [rcx]
mov r9, rbx
lea r8, [r13 + 0x708]
lea rdx, [r13 + 0x180]
call qword [rax + 0x58]
test al, al
jne 0x18019bf6b
mov rax, qword [rbx]
lea rdx, str.AEAD_decrypt_setup_failed.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
movzx eax, byte [rbx + 0x169]
mov byte [rbp - 0x80], al
movzx eax, byte [rbx + 0x16a]
mov byte [rbx + 0x169], al
lea r14, [r13 + 0x708]
lea rcx, [r15 + 0x790]
cmp dword [r13 + 0x120], 6
jne 0x18019c0c4
call fcn.18001fd80
lea rcx, [r15 + 0x790]
cmp byte [rsp + 0x78], 0
je 0x18019c066
mov edi, eax
call fcn.18001f920
mov r9, rax
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
mov r8, r14
lea rdx, [r13 + 0x180]
mov rcx, qword [r13 + 0x830]
call fcn.1800cc660
mov byte [rsp + 0x78], al
lea rcx, [rbp - 0x50]
call fcn.18001fd80
test eax, eax
je 0x18019c028
nop dword [rax + rax]
lea rcx, [rbp - 0x50]
call fcn.180020000
test al, al
jne 0x18019c028
mov edx, 1
lea rcx, [rbp - 0x50]
call fcn.180021f00
lea rcx, [rbp - 0x50]
call fcn.18001fd80
test eax, eax
jne 0x18019c000
lea rcx, [rbp - 0x50]
call fcn.180020000
movzx edi, al
sub al, 0x14
cmp al, 3
jbe 0x18019c15a
mov dword [r12 + 0x44], 0x7f
lea rdx, str.Invalid_TLS_1.3_actual_content_type..
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
mov r8d, edi
lea rdx, str.actualContentType
jmp 0x18019bb40
lea edi, [rax - 8]
call fcn.18001f920
lea r9, [rax + 8]
mov qword [rsp + 0x30], rbx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
lea rdi, [r13 + 0x180]
mov r8, r14
mov rdx, rdi
mov rcx, qword [r13 + 0x830]
call fcn.1800cc660
movzx ecx, byte [rbp - 0x80]
mov byte [rbx + 0x169], cl
test al, al
jne 0x18019c1a2
mov rax, qword [rbx]
lea rdx, str.Failed_to_decrypt_SSL_TLS_record.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
call fcn.18001fd80
mov edi, eax
lea rcx, [r15 + 0x790]
call fcn.18001f920
mov r9, rax
mov qword [rsp + 0x30], rbx
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
cmp byte [rsp + 0x78], 0
je 0x18019c080
mov dword [rsp + 0x20], edi
mov r8, r14
lea rdx, [r13 + 0x180]
mov rcx, qword [r13 + 0x830]
call fcn.1800cc660
mov byte [rsp + 0x78], al
lea rcx, [rbp - 0x50]
call fcn.18001fd80
test eax, eax
je 0x18019c148
nop word [rax + rax]
lea rcx, [rbp - 0x50]
call fcn.180020000
test al, al
jne 0x18019c148
mov edx, 1
lea rcx, [rbp - 0x50]
call fcn.180021f00
lea rcx, [rbp - 0x50]
call fcn.18001fd80
test eax, eax
jne 0x18019c120
lea rcx, [rbp - 0x50]
call fcn.180020000
movzx edi, al
sub al, 0x14
cmp al, 3
ja 0x18019c196
mov edx, 1
lea rcx, [rbp - 0x50]
call fcn.180021f00
mov dword [r15 + 0x780], edi
mov dword [r15 + 0x784], 3
mov dword [r15 + 0x788], 4
lea rdi, [r13 + 0x180]
movzx eax, byte [rsp + 0x78]
jmp 0x18019c09d
lea rdx, str.Invalid_TLS_1.3_actual_content_type.
jmp 0x18019c04e
mov eax, dword [r13 + 0x120]
cmp eax, 6
jne 0x18019c24d
mov r9, rbx
mov r8, r14
mov rdx, rdi
mov rcx, qword [r13 + 0x830]
call fcn.18013f820
test al, al
jne 0x18019c1e0
mov rax, qword [rbx]
lea rdx, str.GCM_decrypt_finalize_failed.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
cmp byte [rbx + 0x16b], 0
je 0x18019c1f9
mov rax, qword [rbx]
lea rdx, str.gcm_decrypt_finalize_success.
mov rcx, rbx
call qword [rax + 0x30]
lea rdx, [rbp - 0x50]
lea rcx, [r15 + 0x790]
call fcn.180021f70
mov byte [r15 + 0x78c], 1
mov ecx, dword [r13 + 0x120]
lea eax, [rcx - 6]
cmp eax, 1
jbe 0x18019c29f
cmp ecx, 0x63
je 0x18019c29f
mov rdx, rbx
lea rcx, [r15 + 0x790]
call fcn.1800223e0
test al, al
jne 0x18019c281
mov rax, qword [rbx]
lea rdx, str.Invalid_block_cipher_padding_detected.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
cmp eax, 7
jne 0x18019c1f9
mov rcx, qword [r13 + 0x830]
mov rax, qword [rcx]
mov r9, rbx
mov r8, r14
mov rdx, rdi
call qword [rax + 0x60]
test al, al
jne 0x18019c1f9
mov rax, qword [rbx]
lea rdx, str.AEAD_decrypt_finalize_failed.
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x18019bb48
lea rcx, [r15 + 0x790]
call fcn.180020000
movzx edx, al
inc edx
lea rcx, [r15 + 0x790]
call fcn.180021f00
nop
lea rcx, [rbp - 0x50]
call fcn.18001b360
mov eax, dword [r13 + 0x120]
sub eax, 6
cmp eax, 1
jbe 0x18019c4ea
mov eax, dword [r13 + 0x124]
test eax, eax
je 0x18019c4ea
cmp eax, 1
jne 0x18019c2d5
lea r14d, [rax + 0x13]
jmp 0x18019c2f2
cmp eax, 7
jne 0x18019c2e0
lea r14d, [rax + 0x19]
jmp 0x18019c2f2
mov ecx, gethostbyname
mov r14d, reloc.WS2_32.dll_recv
cmp eax, 2
cmove r14d, ecx
mov rcx, rsi
call fcn.18001fd80
mov edi, eax
cmp eax, r14d
jae 0x18019c331
mov rax, qword [rbx]
lea rdx, str.SSL_TLS_record_shorter_than_MAC_length_
mov rcx, rbx
call qword [rax + 0x28]
mov qword [rsp + 0x20], rbx
mov r9, qword [rsp + 0x60]
mov r8d, shutdown
mov rdx, r12
mov rcx, r15
call fcn.1801ae4e0
jmp 0x18019c660
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x50]
call fcn.18001b1b0
nop
sub edi, r14d
mov r9d, r14d
mov r8d, edi
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.18001cd60
mov edx, r14d
mov rcx, rsi
call fcn.180021f00
cmp dword [r15 + 0x784], 3
jne 0x18019c3fe
cmp dword [r15 + 0x788], 2
jl 0x18019c3fe
cmp dword [r13 + 0x138], 0
jbe 0x18019c3fe
mov rcx, rsi
call fcn.18001fd80
cmp eax, dword [r13 + 0x138]
jb 0x18019c3ba
mov rcx, rsi
call fcn.18001fd80
mov edi, eax
mov edx, dword [r13 + 0x138]
sub edi, edx
mov rcx, rsi
call fcn.18001f930
jmp 0x18019c410
mov rax, qword [rbx]
lea rdx, str.Message_not_long_enough_for_the_MAC.
mov rcx, rbx
call qword [rax + 0x28]
mov rcx, rsi
call fcn.18001fd80
mov r8d, eax
lea rdx, str.tlsMsgSize
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [r13 + 0x138]
lea rdx, str.cipherSuiteRecordIvLen
mov rcx, rbx
call fcn.18002a810
xor esi, esi
jmp 0x18019c44c
mov rcx, rsi
call fcn.18001fd80
mov edi, eax
mov rcx, rsi
call fcn.18001f920
mov qword [rsp + 0x40], rbx
lea rcx, [rbp]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rax
mov eax, dword [r15 + 0x788]
mov dword [rsp + 0x20], eax
mov r9d, dword [r15 + 0x784]
mov r8d, dword [r15 + 0x780]
xor edx, edx
mov rcx, r13
call fcn.180198cc0
mov esi, eax
lea rcx, [rbp - 0x50]
call fcn.18001f920
mov rcx, rax
mov r8d, r14d
lea rdx, [rbp]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18019c4e1
mov rax, qword [rbx]
lea rdx, str.Invalid_MAC
mov rcx, rbx
call qword [rax + 0x28]
mov r8d, r14d
lea rdx, str.macLen
mov rcx, rbx
call fcn.18002a810
mov r8d, esi
lea rdx, str.macLen2
mov rcx, rbx
call fcn.18002a810
lea rcx, [rbp - 0x50]
call fcn.18001fd80
mov r8d, eax
lea rdx, str.dbMacSize
mov rcx, rbx
call fcn.18002a810
mov qword [rsp + 0x20], rbx
mov r9, qword [rsp + 0x60]
mov r8d, shutdown
mov rdx, r12
mov rcx, r15
call fcn.1801ae4e0
nop
lea rcx, [rbp - 0x50]
call fcn.18001b360
jmp 0x18019c660
lea rcx, [rbp - 0x50]
call fcn.18001b360
lea rcx, [r13 + 0x17f]
mov rdx, 0xfffffffffffffe88
sub rdx, r13
nop dword [rax + rax]
add byte [rcx], 1
jne 0x18019c511
dec rcx
lea rax, [rdx + rcx]
test rax, rax
jns 0x18019c500
lea rcx, [rbp - 0x68]
call fcn.18002a0e0
mov al, 1
jmp 0x18019c66b
mov rax, qword [rbx]
mov r8, qword [rax + 0x28]
mov rcx, rbx
cmp byte [rbx + 0x174], 0
je 0x18019c543
lea rdx, str.Aborted_because_the_application_set_the_AbortCurrent_property..
call r8
jmp 0x18019c660
lea rdx, str.Failed_to_read_TLS_record__2_
call r8
mov rcx, r14
call fcn.18001fd80
mov r8d, eax
lea rdx, str.tlsRec_msg
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rsp + 0x7c]
lea rdx, str.msgLen
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rbp - 0x70]
lea rdx, str.nReadNBytes
mov rcx, rbx
call fcn.18002a810
mov r8d, edi
lea rdx, str.status
mov rcx, rbx
call fcn.18002a810
jmp 0x18019c660
mov rcx, r12
call fcn.18017a680
test al, al
je 0x18019c5c0
cmp byte [r12 + 0xe8], 0
je 0x18019c660
mov rax, qword [rbx]
lea rdx, str.Failed_to_read_beginning_of_SSL_TLS_record.
mov rcx, rbx
call qword [rax + 0x28]
mov r8d, edi
lea rdx, [0x180229620]
mov rcx, rbx
call fcn.18002a810
mov rcx, r14
call fcn.18001fd80
mov r8d, eax
lea rdx, str.dbSize
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rbp - 0x70]
lea rdx, str.nReadNBytes
mov rcx, rbx
call fcn.18002a810
mov r8d, dword [rsp + 0x68]
lea rdx, str.idleTimeoutMs
mov rcx, rbx
call fcn.18002a810
movzx edi, byte [r12 + 0xe8]
mov byte [r12 + 0xe8], 1
mov r8, rbx
lea rdx, str.readTlsRecord
mov rcx, r12
call fcn.18017a750
mov byte [r12 + 0xe8], dil
mov rax, qword [rbx]
lea rdx, str.See_https:__cknotes.com_failed_to_read_beginning_of_ssl_tls_record_can_be_caused_by_external_firewall_
mov rcx, rbx
call qword [rax + 0x28]
nop
lea rcx, [rbp - 0x68]
call fcn.18002a0e0
xor al, al
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.180009610
add rsp, 0x1d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret