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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, Ordinal_50
call fcn.1401ef830
sub rsp, rax
mov ebp, dword [rcx + 0x708]
lea rbx, [rdx + 0x90]
xor r14d, r14d
mov rsi, rcx
mov dword [rcx + 0x708], r14d
mov r15, r9
mov ecx, dword [rbx + 0x138]
mov r12, r8
mov eax, ecx
mov dword [rsp + 0x60], r14d
and al, 0x15
mov rdi, rdx
cmp al, 1
jne 0x14006c86e
mov r10, qword [rsi + 0x418]
jmp 0x14006c872
or r10, 0xffffffffffffffff
and cl, 0x2a
cmp cl, 2
jne 0x14006c883
mov r8, qword [rsi + 0x420]
jmp 0x14006c887
or r8, 0xffffffffffffffff
mov rax, qword [rsi]
cmp qword [rax + 0x8b30], r14
je 0x14006c896
or ebp, 1
test ebp, ebp
jne 0x14006c8ab
xor r9d, r9d
or rdx, 0xffffffffffffffff
mov rcx, r10
call fcn.14005bc60
mov ebp, eax
cmp ebp, 4
jne 0x14006c8c7
lea rdx, str.select_poll_returned_error
mov rcx, rdi
call fcn.140059810
lea eax, [rbp + 0x33]
jmp 0x14006cc68
test byte [rbx + 0x138], 1
je 0x14006c90e
test bpl, 1
jne 0x14006c8df
cmp byte [rsi + 0x3e1], r14b
je 0x14006c90e
mov qword [rsp + 0x28], r15
lea r9, [rsp + 0x60]
mov r8, rbx
mov qword [rsp + 0x20], r12
mov rdx, rsi
mov rcx, rdi
call fcn.14006bb20
test eax, eax
jne 0x14006cc68
cmp byte [r12], r14b
jne 0x14006cc68
and ebp, dword [rbx + 0x138]
test bpl, 2
je 0x14006c935
lea r9, [rsp + 0x60]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.14006c440
test eax, eax
jne 0x14006cc68
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea r15, [rbx + 0x40]
movabs rbp, 0x20c49ba5e353f7cf
mov r8d, eax
mov eax, 0x10624dd3
mul r8d
mov r9d, edx
shr r9d, 6
imul ecx, r9d, 0x3e8
mov dword [rsp + 0x68], r9d
sub r8d, ecx
imul eax, r8d, 0x3e8
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x68]
mov qword [r15], rax
cmp dword [rsp + 0x60], r14d
je 0x14006c9a6
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14006c994
mov rax, qword [rbx + 0x20]
mov qword [rcx], rax
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14006ca13
mov rax, qword [rbx + 0x28]
mov qword [rcx], rax
jmp 0x14006ca13
cmp dword [rbx + 0xa4], 1
jne 0x14006ca13
mov rcx, qword [rbx + 0x9c]
shr rax, 0x20
sub r9d, ecx
mov rdx, rcx
shr rdx, 0x20
sub eax, edx
movsxd rdx, eax
mov rax, rbp
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, r9d, 0x3e8
movsxd rcx, eax
movsxd rax, dword [rdi + 0x7d4]
add rdx, rcx
cmp rdx, rax
jl 0x14006ca13
or dword [rbx + 0x138], 2
lea rdx, str.Done_waiting_for_100_continue_n
mov rcx, rdi
mov dword [rbx + 0xa4], r14d
call fcn.140059720
mov rcx, rsi
call fcn.14006eba0
test eax, eax
jne 0x14006cc4d
mov rdx, qword [r15]
mov rcx, rdi
call fcn.140074c00
test eax, eax
jne 0x14006cc68
cmp dword [rbx + 0x138], r14d
je 0x14006cbd9
movsxd rcx, dword [rdi + 0x328]
mov r8, r15
test ecx, ecx
setg r14b
sub r14d, 1
je 0x14006ca82
sub r14d, 1
je 0x14006ca79
cmp r14d, 1
jne 0x14006cc54
mov eax, dword [rdi + 0x32c]
cmp ecx, eax
cmovl eax, ecx
movsxd rsi, eax
jmp 0x14006ca85
movsxd rsi, dword [rdi + 0x32c]
jmp 0x14006ca85
mov rsi, rcx
test r15, r15
jne 0x14006cac5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, eax
mov eax, 0x10624dd3
mul r8d
shr edx, 6
imul ecx, edx, 0x3e8
mov dword [rsp + 0x60], edx
sub r8d, ecx
imul eax, r8d, 0x3e8
lea r8, [rsp + 0x60]
mov dword [rsp + 0x64], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x60], rax
mov rcx, qword [rdi + 0x8c0]
mov r8, qword [r8]
mov rax, rcx
shr rax, 0x20
mov rdx, r8
shr rdx, 0x20
sub r8d, ecx
sub edx, eax
mov rax, rbp
movsxd rdx, edx
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, r8d, 0x3e8
movsxd rcx, eax
neg rcx
sub rcx, rdx
add rsi, rcx
test rsi, rsi
jg 0x14006cc54
mov r9, qword [rbx]
mov rcx, qword [rdi + 0x8b8]
cmp r9, 0xffffffffffffffff
je 0x14006cb82
mov r10, qword [r15]
mov rdx, rcx
shr rdx, 0x20
mov r8, r10
shr r8, 0x20
sub r10d, ecx
sub r8d, edx
mov qword [rsp + 0x20], r9
mov r9, qword [rbx + 0x20]
mov rax, rbp
movsxd rdx, r8d
imul rdx
imul eax, r10d, 0x3e8
sar rdx, 7
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.Operation_timed_out_after__ld_milliseconds_with__I64d_out_of__I64d_bytes_received
movsxd rcx, eax
add r8, rcx
mov rcx, rdi
call fcn.140059810
mov eax, Ordinal_30
jmp 0x14006cc68
mov r9, qword [r15]
mov rax, rcx
shr rax, 0x20
mov rdx, r9
shr rdx, 0x20
sub r9d, ecx
sub edx, eax
mov rax, rbp
movsxd rdx, edx
imul rdx
imul eax, r9d, 0x3e8
mov r9, qword [rbx + 0x20]
sar rdx, 7
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.Operation_timed_out_after__ld_milliseconds_with__I64d_bytes_received
movsxd rcx, eax
add r8, rcx
mov rcx, rdi
call fcn.140059810
mov eax, Ordinal_30
jmp 0x14006cc68
movzx eax, byte [rdi + 0x570]
test al, al
jne 0x14006cc41
mov r8, qword [rbx]
cmp r8, 0xffffffffffffffff
je 0x14006cc18
mov rcx, qword [rbx + 0x20]
cmp rcx, r8
je 0x14006cc18
cmp qword [rdi + 0x1d8], r14
jne 0x14006cc18
sub r8, rcx
lea rdx, str.transfer_closed_with__I64d_bytes_remaining_to_read
mov rcx, rdi
call fcn.140059810
mov eax, reloc.WS2_32.dll_select
jmp 0x14006cc68
test al, al
jne 0x14006cc41
cmp byte [rbx + 0x160], r14b
je 0x14006cc41
cmp dword [rsi + 0x20], 4
je 0x14006cc41
lea rdx, str.transfer_closed_with_outstanding_read_data_remaining
mov rcx, rdi
call fcn.140059810
mov eax, reloc.WS2_32.dll_select
jmp 0x14006cc68
mov rcx, rsi
call fcn.14006eba0
test eax, eax
je 0x14006cc54
mov eax, Ordinal_46
jmp 0x14006cc68
mov eax, dword [rbx + 0x138]
and eax, 0x33
test al, al
sete al
mov byte [r12], al
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret