Function at 0x1401bf320
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x270]
sub rsp, 0x370
mov rax, qword [0x140353c70]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov byte [rsp + 0x60], r9b
movzx r15d, r8b
mov qword [rsp + 0x68], rdx
mov rsi, rcx
mov rax, qword [rbp + 0x2d0]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x2d8]
mov qword [rsp + 0x70], rax
mov r14, qword [rbp + 0x2f0]
mov qword [rsp + 0x78], r14
mov rdi, qword [rbp + 0x2f8]
mov qword [rbp - 0x78], rdi
mov rbx, qword [rbp + 0x300]
mov qword [rbp - 0x70], rbx
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], rax
lea r8, str.clientHello_buildMessage
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.14004ce70
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
movups xmmword [rbp + 0x78], xmm0
movups xmmword [rbp + 0x88], xmm0
lea rcx, [rbp + 0x68]
call fcn.14003e200
nop
movzx edx, byte [rsi + 0x48]
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
movzx edx, byte [rsi + 0x4c]
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
lea rdx, [rsi + 0x50]
lea rcx, [rbp + 0x68]
call fcn.14003e810
cmp byte [rbx + 0x16a], 0
je 0x1401bf487
mov r8d, dword [rsi + 0x48]
lea rdx, str.majorVersion
mov rcx, rbx
call fcn.14004d750
mov r8d, dword [rsi + 0x4c]
lea rdx, str.minorVersion
mov rcx, rbx
call fcn.14004d750
lea r8, [rsi + 0x50]
lea rdx, str.clientRandom
mov rcx, rbx
call fcn.14004d5c0
lea rcx, [rsi + 0x50]
call fcn.140042d30
mov r8d, eax
lea rdx, str.szClientRandom
mov rcx, rbx
call fcn.14004d750
lea rdi, [rsi + 0x80]
mov rcx, rdi
call fcn.140042d30
mov r8d, eax
lea rdx, str.sessionIdSize
mov rcx, rbx
call fcn.14004d750
jmp 0x1401bf48e
lea rdi, [rsi + 0x80]
cmp byte [rbx + 0x16b], 0
je 0x1401bf4aa
movzx r8d, r15b
lea rdx, str.bIsAfterHelloRetryRequest
mov rcx, rbx
call fcn.14004d4a0
cmp dword [rsi + 0x48], 3
jne 0x1401bf4e9
mov eax, dword [rsi + 0x4c]
sub eax, 3
cmp eax, 1
ja 0x1401bf4e9
lea rcx, [rbx + 0x98]
lea rdx, str.MiddleBoxCompatibilityMode
call fcn.140031020
test al, al
je 0x1401bf4e9
mov rcx, rdi
call fcn.140042d30
test eax, eax
jne 0x1401bf4e9
mov rdx, rdi
lea ecx, [rax + 0x20]
call fcn.14007ea80
mov rcx, rdi
call fcn.140042d30
mov edx, eax
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
mov rcx, rdi
call fcn.140042d30
test eax, eax
je 0x1401bf514
mov rdx, rdi
lea rcx, [rbp + 0x68]
call fcn.14003e810
xor r12d, r12d
mov dword [rsp + 0x64], r12d
call fcn.14007c330
mov rcx, rax
mov qword [rbp - 0x68], rax
cmp byte [rbp + 0x2e8], r12b
je 0x1401bf622
mov r14, qword [r14 + 0x38]
test r14, r14
je 0x1401bf622
mov rdx, qword [r14 + 0x18]
test rdx, rdx
je 0x1401bf622
mov rax, qword [rdx + 0x48]
cmp rcx, rax
jge 0x1401bf55d
mov r13d, r12d
jmp 0x1401bf593
sub rcx, rax
mov eax, dword [rdx + 0x50]
cmp rcx, rax
jle 0x1401bf56d
mov r13d, r12d
jmp 0x1401bf593
mov ecx, dword [r14 + 0xc4]
call fcn.14005f400
mov r13d, eax
mov rcx, qword [r14 + 0x18]
add rcx, 0x160
call fcn.140042d30
add r13d, 0xf
add r13d, eax
mov dword [rsp + 0x64], r13d
cmp byte [rbx + 0x16a], r12b
je 0x1401bf5b3
mov r8d, r13d
lea rdx, str.szPreSharedKeyExtension
mov rcx, rbx
call fcn.14004dcd0
test r13d, r13d
je 0x1401bf622
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
movzx ecx, word [rax + 0xc0]
test cx, cx
je 0x1401bf622
movzx eax, cx
shr ax, 8
mov byte [rbp + 0x60], al
mov byte [rbp + 0x61], cl
xor edx, edx
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
mov r8d, 2
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x68]
call fcn.14003e880
cmp byte [rbx + 0x16a], r12b
je 0x1401bf6ab
mov rax, qword [rbx]
lea rdx, str.Using_same_cipher_suite_ID_for_TLS_1.3_session_resumption.
mov rcx, rbx
call qword [rax + 0x30]
jmp 0x1401bf684
lea rcx, [rsi + 0xb0]
call fcn.140042d30
mov edi, eax
mov edx, eax
shr edx, 8
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
movzx edx, dil
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
lea rdx, [rsi + 0xb0]
lea rcx, [rbp + 0x68]
call fcn.14003e810
cmp byte [rbx + 0x16a], r12b
je 0x1401bf6ab
lea rcx, [rsi + 0xb0]
call fcn.140042d30
shr eax, 1
mov r8d, eax
lea rdx, str.numCipherSuites
mov rcx, rbx
call fcn.14004d750
cmp byte [rbx + 0x16a], r12b
je 0x1401bf6ab
lea rcx, [rsi + 0xe0]
call fcn.140042d30
mov r8d, eax
lea rdx, str.numCompressionMethods
mov rcx, rbx
call fcn.14004d750
lea rcx, [rsi + 0xe0]
call fcn.140042d30
mov edx, eax
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
lea rdx, [rsi + 0xe0]
lea rcx, [rbp + 0x68]
call fcn.14003e810
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
lea rcx, [rbp + 0x30]
call fcn.14003e200
nop
lea rcx, [rbx + 0x98]
lea rdx, str.NO_TLS_EXT_RND
call fcn.140030ff0
movzx r14d, al
mov edi, r12d
test r15b, r15b
jne 0x1401bf75e
test al, al
jne 0x1401bf718
mov edi, 1
mov dword [rbp - 0x60], edi
jmp 0x1401bf75e
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 5
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 5
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [rbp + 0x30]
call fcn.14003eb80
movzx r13d, byte [rbp + 0x2e0]
test r13b, r13b
je 0x1401bf78d
test r14b, r14b
jne 0x1401bf77e
mov eax, edi
mov dword [rbp + rax*4 - 0x60], 2
inc edi
jmp 0x1401bf78d
mov r8, rbx
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.1401bf170
test r15b, r15b
jne 0x1401bf7ec
test r13b, r13b
je 0x1401bf7ec
test r14b, r14b
jne 0x1401bf7aa
mov eax, edi
mov dword [rbp + rax*4 - 0x60], 3
inc edi
jmp 0x1401bf7ec
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, reloc.WS2_32.dll_inet_addr
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
cmp dword [rsi + 0x48], 3
jne 0x1401bf823
mov eax, dword [rsi + 0x4c]
sub eax, 3
cmp eax, 1
ja 0x1401bf823
test r14b, r14b
jne 0x1401bf810
mov eax, edi
mov dword [rbp + rax*4 - 0x60], 4
inc edi
jmp 0x1401bf823
mov r9, rbx
lea r8, [rbp + 0x30]
movzx edx, r15b
mov rcx, rsi
call fcn.1401bf000
test r15b, r15b
jne 0x1401bf867
test r14b, r14b
jne 0x1401bf83b
mov eax, edi
mov dword [rbp + rax*4 - 0x60], 5
inc edi
jmp 0x1401bf867
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, reloc.WS2_32.dll_socket
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
movzx r13d, byte [rbp + 0x2e8]
test r13b, r13b
je 0x1401bfa3b
lea rcx, [rbx + 0x98]
lea rdx, str.SendZeroLenTicket
call fcn.140030ff0
test al, al
je 0x1401bf8f8
cmp dword [rsi + 0x48], 3
jne 0x1401bf8f8
mov eax, dword [rsi + 0x4c]
sub eax, 3
cmp eax, 1
ja 0x1401bf8f8
test r14b, r14b
jne 0x1401bf8b3
mov eax, edi
mov dword [rbp + rax*4 - 0x60], 6
inc edi
jmp 0x1401bf8f8
cmp byte [rbx + 0x16a], 0
je 0x1401bf8cc
mov rax, qword [rbx]
lea rdx, str.Adding_zero_length_session_ticket...
mov rcx, rbx
call qword [rax + 0x30]
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x23
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
lea rcx, [rbx + 0x98]
lea rdx, str.SendPostHandshakeAuth
call fcn.140030ff0
test al, al
je 0x1401bfa16
cmp dword [rsi + 0x48], 3
jne 0x1401bfa16
mov eax, dword [rsi + 0x4c]
sub eax, 3
cmp eax, 1
ja 0x1401bfa16
test r14b, r14b
jne 0x1401bf942
mov eax, edi
mov dword [rbp + rax*4 - 0x60], send
inc edi
jmp 0x1401bfa1f
cmp byte [rbx + 0x16a], 0
je 0x1401bf95b
mov rax, qword [rbx]
lea rdx, str.Adding_post_handshake_auth_extension...
mov rcx, rbx
call qword [rax + 0x30]
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x31
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
movzx edx, r15b
mov rcx, rsi
call fcn.1401bed20
mov r9, rbx
lea r8, [rbp + 0x30]
movzx edx, r15b
mov rcx, rsi
call fcn.1401bf270
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x80]
movzx r8d, byte [rsp + 0x60]
movzx edx, r15b
mov rcx, rsi
call fcn.1401bee20
mov r9, rbx
lea r8, [rbp + 0x30]
mov rdx, qword [rsp + 0x70]
mov rcx, rsi
call fcn.1401bef00
test r13b, r13b
je 0x1401bfb0b
test r14b, r14b
jne 0x1401bfa60
movsxd rax, edi
mov dword [rbp + rax*4 - 0x60], reloc.WS2_32.dll_inet_addr
inc edi
jmp 0x1401bfb10
test r14b, r14b
jne 0x1401bf987
movsxd rax, edi
mov dword [rbp + rax*4 - 0x60], 7
inc edi
movsxd rax, edi
mov dword [rbp + rax*4 - 0x60], 8
inc edi
jmp 0x1401bfa44
test r14b, r14b
jne 0x1401bf9be
movsxd rax, edi
mov dword [rbp + rax*4 - 0x60], 9
inc edi
movsxd rax, edi
mov dword [rbp + rax*4 - 0x60], 0xa
inc edi
jmp 0x1401bf9f6
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x2d
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 3
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x1c
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x40
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov r9, rbx
lea r8, [rbp + 0x30]
mov r13, qword [rsp + 0x68]
mov rdx, r13
mov rcx, rsi
call fcn.1401bec10
jmp 0x1401bffca
test r14b, r14b
jne 0x1401bfaad
movsxd rax, edi
mov dword [rbp + rax*4 - 0x60], reloc.WS2_32.dll_inet_ntoa
lea ebx, [rdi + 1]
movsxd rax, edi
mov dword [rbp + rax*4 - 0x5c], send
lea r13d, [rdi + 2]
mov qword [rbp + 0x60], shutdown
cmp dword [0x140359a28], 0
jne 0x1401bfb49
call sub.KERNEL32.dll_GetTickCount
mov dword [0x140359a28], eax
call fcn.14007c3c0
mov edi, eax
imul edi, dword [0x140359a28]
call fcn.14007c3d0
mov ecx, eax
xor edx, edx
mov eax, edi
div ecx
mov eax, edx
mov dword [0x140359a28], edx
test edx, edx
jne 0x1401bfb7b
call sub.KERNEL32.dll_GetTickCount
mov dword [0x140359a28], eax
mov r8d, ebx
xor edx, edx
mov ecx, eax
call fcn.14007c730
movsxd r14, eax
cmp dword [0x140359a28], 0
jne 0x1401bfb9e
call sub.KERNEL32.dll_GetTickCount
mov dword [0x140359a28], eax
call fcn.14007c3c0
mov edi, eax
imul edi, dword [0x140359a28]
call fcn.14007c3d0
mov ecx, eax
xor edx, edx
mov eax, edi
div ecx
mov eax, edx
mov dword [0x140359a28], edx
test edx, edx
jne 0x1401bfbd0
call sub.KERNEL32.dll_GetTickCount
mov dword [0x140359a28], eax
mov r8d, ebx
xor edx, edx
mov ecx, eax
call fcn.14007c730
movsxd rcx, eax
cmp r14d, ecx
je 0x1401bfc14
test eax, eax
js 0x1401bfc14
test r14d, r14d
js 0x1401bfc14
cmp r14d, r13d
jge 0x1401bfc14
cmp ecx, r13d
jge 0x1401bfc14
lea rdx, [rbp - 0x60]
lea rdx, [rdx + r14*4]
mov r8d, dword [rdx]
mov rax, rcx
lea rcx, [rbp - 0x60]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov dword [rdx], eax
mov dword [rcx], r8d
sub qword [rbp + 0x60], 1
jne 0x1401bfb35
movsxd r14, r13d
test r13d, r13d
mov rbx, qword [rbp - 0x70]
jle 0x1401bffc5
nop
mov eax, dword [rbp + r12*4 - 0x60]
cmp eax, 1
jne 0x1401bfc85
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 5
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 5
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea r8d, [rdx + 4]
lea rcx, [rbp + 0x30]
call fcn.14003eb80
jmp 0x1401bffb9
cmp eax, 2
jne 0x1401bfc9e
mov r8, rbx
lea rdx, [rbp + 0x30]
mov rcx, rsi
call fcn.1401bf170
jmp 0x1401bffb9
cmp eax, 3
jne 0x1401bfcea
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, reloc.WS2_32.dll_inet_addr
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
jmp 0x1401bffb9
cmp eax, 4
jne 0x1401bfd07
mov r9, rbx
lea r8, [rbp + 0x30]
movzx edx, r15b
mov rcx, rsi
call fcn.1401bf000
jmp 0x1401bffb9
cmp eax, 5
jne 0x1401bfd3d
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, reloc.WS2_32.dll_socket
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
jmp 0x1401bffb9
cmp eax, 6
jne 0x1401bfd8c
cmp byte [rbx + 0x16a], 0
je 0x1401bfd5b
mov rax, qword [rbx]
lea rdx, str.Adding_zero_length_session_ticket...
mov rcx, rbx
call qword [rax + 0x30]
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x23
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
jmp 0x1401bffb9
cmp eax, 0xe
jne 0x1401bfddb
cmp byte [rbx + 0x16a], 0
je 0x1401bfdaa
mov rax, qword [rbx]
lea rdx, str.Adding_post_handshake_auth_extension...
mov rcx, rbx
call qword [rax + 0x30]
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x31
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
jmp 0x1401bffb9
cmp eax, 7
jne 0x1401bfe09
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
movzx edx, r15b
mov rcx, rsi
call fcn.1401bed20
jmp 0x1401bffb9
cmp eax, 8
jne 0x1401bfeb7
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x2b
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
test r15b, r15b
je 0x1401bfe34
mov dil, 4
xor dl, dl
jmp 0x1401bfe7b
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 9
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 8
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 3
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 4
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 3
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dil, 1
mov dl, 3
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 3
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 3
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
movzx edx, dil
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
jmp 0x1401bffb9
cmp eax, 9
jne 0x1401bfee5
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp - 0x80]
movzx r8d, byte [rsp + 0x60]
movzx edx, r15b
mov rcx, rsi
call fcn.1401bee20
jmp 0x1401bffb9
cmp eax, 0xa
jne 0x1401bff03
mov r9, rbx
lea r8, [rbp + 0x30]
mov rdx, qword [rsp + 0x70]
mov rcx, rsi
call fcn.1401bef00
jmp 0x1401bffb9
cmp eax, 0xb
jne 0x1401bff57
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x2d
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 3
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
jmp 0x1401bffb9
cmp eax, 0xc
jne 0x1401bffa0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x1c
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 2
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x40
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
jmp 0x1401bffb9
cmp eax, 0xd
jne 0x1401bffb9
mov r9, rbx
lea r8, [rbp + 0x30]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call fcn.1401bec10
inc r12
cmp r12, r14
jl 0x1401bfc30
mov r13, qword [rsp + 0x68]
lea rcx, [rbp + 0x30]
call fcn.140042d30
mov esi, eax
lea rcx, [rbp + 0x68]
call fcn.140042d30
mov r14d, dword [rsp + 0x64]
add esi, 2
add esi, r14d
add esi, eax
mov edi, Ordinal_505
cmp esi, edi
jae 0x1401c008e
xorps xmm0, xmm0
movups xmmword [rbp + 0xc8], xmm0
movups xmmword [rbp + 0xd8], xmm0
movups xmmword [rbp + 0xe8], xmm0
lea rcx, [rbp + 0xc8]
call fcn.14003e200
nop
xor edx, edx
lea rcx, [rbp + 0xc8]
call fcn.14003eaf0
mov dl, reloc.WS2_32.dll_setsockopt
lea rcx, [rbp + 0xc8]
call fcn.14003eaf0
sub edi, esi
mov edx, edi
shr edx, 8
lea rcx, [rbp + 0xc8]
call fcn.14003eaf0
movzx edx, dil
lea rcx, [rbp + 0xc8]
call fcn.14003eaf0
test edi, edi
je 0x1401c0071
mov r8d, edi
xor edx, edx
lea rcx, [rbp + 0xc8]
call fcn.14003eb80
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0x30]
call fcn.14003e810
nop
lea rcx, [rbp + 0xc8]
call fcn.14003e3b0
xorps xmm0, xmm0
movups xmmword [rbp + 0x128], xmm0
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x148], xmm0
lea rcx, [rbp + 0x128]
call fcn.14003e200
nop
test r14d, r14d
je 0x1401c016c
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
movups xmmword [rbp + 0xa8], xmm0
movups xmmword [rbp + 0xb8], xmm0
lea rcx, [rbp + 0x98]
call fcn.14003e200
nop
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x128]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x98]
mov r8, r13
mov rdx, qword [rbp - 0x68]
mov r15, qword [rsp + 0x78]
mov rcx, qword [r15 + 0x38]
call fcn.1401c0510
xor edx, edx
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
mov dl, 0x29
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
lea rcx, [rbp + 0x98]
call fcn.140042d30
mov edi, eax
mov edx, eax
shr edx, 8
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
movzx edx, dil
lea rcx, [rbp + 0x30]
call fcn.14003eaf0
lea rdx, [rbp + 0x98]
lea rcx, [rbp + 0x30]
call fcn.14003e810
nop
lea rcx, [rbp + 0x98]
call fcn.14003e3b0
jmp 0x1401c0171
mov r15, qword [rsp + 0x78]
lea rcx, [rbp + 0x30]
call fcn.140042d30
mov edi, eax
mov edx, eax
shr edx, 8
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
movzx edx, dil
lea rcx, [rbp + 0x68]
call fcn.14003eaf0
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x68]
call fcn.14003e810
mov dl, 1
mov rsi, qword [rbp - 0x78]
mov rcx, rsi
call fcn.14003eaf0
lea rcx, [rbp + 0x68]
call fcn.140042d30
mov edi, eax
xor edx, edx
mov rcx, rsi
call fcn.14003eaf0
mov edx, edi
shr edx, 8
mov rcx, rsi
call fcn.14003eaf0
movzx edx, dil
mov rcx, rsi
call fcn.14003eaf0
lea rdx, [rbp + 0x68]
mov rcx, rsi
call fcn.14003e810
test r14d, r14d
je 0x1401c04af
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xc8], xmm0
mov qword [rbp + 0xd8], rax
lea r8, str.computePskBinder
mov rdx, rbx
lea rcx, [rbp + 0xc8]
call fcn.14004ce70
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
movups xmmword [rbp + 0xa8], xmm0
movups xmmword [rbp + 0xb8], xmm0
lea rcx, [rbp + 0x98]
call fcn.14003e200
nop
lea rcx, [rbp + 0x98]
call fcn.140040520
lea rdx, [r13 + 0x4a8]
lea rcx, [rbp + 0x98]
call fcn.14003e810
cmp qword [r15 + 0x38], 0
je 0x1401c0484
mov rcx, rsi
call fcn.140042d30
cmp eax, 3
jbe 0x1401c0484
mov rax, qword [r15 + 0x38]
mov r15d, dword [rax + 0xc4]
mov ecx, r15d
call fcn.14005f400
mov r12d, eax
mov rcx, rsi
call fcn.140042d30
mov edi, 0xfffffffd
sub edi, r12d
add edi, eax
mov rcx, rsi
call fcn.1400428d0
mov rdx, rax
mov r8d, edi
lea rcx, [rbp + 0x98]
call fcn.14003e880
lea rcx, [rbp + 0x128]
call fcn.140042d30
mov r14d, eax
lea rcx, [rbp + 0x128]
call fcn.1400428d0
mov rsi, rax
mov ecx, r15d
call fcn.14005f400
mov edi, eax
xor edx, edx
lea r8d, [rdx + 0x40]
lea rcx, [rbp + 0x160]
call fcn.14003be60
mov qword [rsp + 0x30], rbx
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
mov r9d, edi
lea r8, [rbp + 0x160]
mov edx, r14d
mov rcx, rsi
call fcn.140108dd0
lea rcx, [r13 + 0xbb]
mov r8d, gethostbyname
lea rdx, [rbp + 0x1a0]
call fcn.14003be40
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf8], xmm0
mov qword [rbp + 0x108], rax
lea r8, str.DeriveKeyMsg
mov rdx, rbx
lea rcx, [rbp + 0xf8]
call fcn.14004ce70
nop
lea r9, [rbp + 0x160]
mov r8d, r15d
xor edx, edx
xor ecx, ecx
call fcn.14005e400
mov ecx, r15d
call fcn.14005f400
mov edx, r12d
test r12d, r12d
cmovle edx, eax
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], eax
lea rcx, [rbp + 0x160]
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], 0xa
lea rcx, str.res_binder
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 6
lea rcx, str.tls13
mov qword [rsp + 0x20], rcx
mov r9d, eax
lea r8, [rbp + 0x1a0]
lea rcx, [rbp + 0x1e0]
call fcn.1401da200
nop
lea rcx, [rbp + 0xf8]
call fcn.14004d020
mov qword [rsp + 0x28], rbx
lea rax, [rbp + 0x220]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x98]
mov r8d, r15d
lea rdx, [rbp + 0x1e0]
mov rcx, r13
call fcn.1401dc710
mov rcx, qword [rbp - 0x78]
call fcn.140042d30
sub eax, r12d
mov edx, eax
mov rcx, qword [rbp - 0x78]
call fcn.1400428e0
test rax, rax
je 0x1401c0495
cmp byte [rax], 0x96
jne 0x1401c047b
cmp byte [rax + 1], 0x55
jne 0x1401c047b
cmp byte [rax + 2], 9
jne 0x1401c047b
cmp byte [rax + 3], 0xad
jne 0x1401c047b
cmp byte [rax + 4], 0xc8
jne 0x1401c047b
cmp byte [rax + 5], 0xf2
jne 0x1401c047b
cmp byte [rax + 6], 0xd9
jne 0x1401c047b
cmp byte [rax + 7], 0xc7
jne 0x1401c047b
mov r8d, r12d
lea rdx, [rbp + 0x220]
mov rcx, rax
call fcn.14003be40
jmp 0x1401c0495
lea rdx, str.This_is_not_the_psk_binder_memory_area..
jmp 0x1401c048b
lea rdx, str.We_have_a_pre_shared_key_extension__but_no_session_info...
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
nop
lea rcx, [rbp + 0x98]
call fcn.14003e3b0
nop
lea rcx, [rbp + 0xc8]
call fcn.14004d020
nop
lea rcx, [rbp + 0x128]
call fcn.14003e3b0
nop
lea rcx, [rbp + 0x30]
call fcn.14003e3b0
nop
lea rcx, [rbp + 0x68]
call fcn.14003e3b0
nop
lea rcx, [rbp + 0x110]
call fcn.14004d020
mov al, 1
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.1402474e0
mov rbx, qword [rsp + 0x3c8]
add rsp, 0x370
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret