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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x18036d060]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rsi, r9
mov rbx, r8
mov r15d, edx
mov r13, rcx
mov rdi, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], rax
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.1801035a0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rax
lea r8, str.readChannelToClose
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.180105b50
nop
cmp byte [rbx + 0x38], 0
je 0x1801e0819
cmp qword [rbx + 0x40], 0
jne 0x1801e0819
mov rax, qword [rdi]
lea rdx, str.No_m_pHandler.
mov rcx, rdi
call qword [rax + 0x28]
mov rcx, rsi
call fcn.180175b40
mov r14, qword [rsi + 8]
mov byte [r12], 0
mov dword [rbx + 0x18], r15d
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm0
lea rcx, [rsp + 0x68]
call fcn.1800ba7a0
nop
call sub.KERNEL32.dll_GetTickCount
mov dword [rbx + 8], eax
mov eax, dword [rbx + 0x14]
cmp eax, 5
jne 0x1801e088b
cmp dword [0x180389f38], 0xa
jge 0x1801e087d
mov rax, qword [rdi]
lea rdx, str.sshRp.m_totalTimeoutMs_wf_is_too_small__3_
mov rcx, rdi
call qword [rax + 0x28]
inc dword [0x180389f38]
mov dword [rbx + 0x14], 0x7530
mov eax, 0x7530
jmp 0x1801e088f
test eax, eax
je 0x1801e08c5
cmp dword [rbx + 8], 0
jne 0x1801e08a0
call sub.KERNEL32.dll_GetTickCount
mov dword [rbx + 8], eax
mov eax, dword [rbx + 0x14]
cmp eax, 0x3e8
jae 0x1801e08ae
mov dword [rbx + 0x14], 0x7530
call sub.KERNEL32.dll_GetTickCount
mov ecx, dword [rbx + 8]
cmp eax, ecx
jbe 0x1801e08c5
sub eax, ecx
cmp eax, dword [rbx + 0x14]
ja 0x1801e0982
lea rcx, [rsp + 0x68]
call fcn.1800bc850
mov word [rbx + 0x48], 0
mov dword [rbx + 0x88], 0xffffffff
mov dword [rbx + 0x8c], 0
lea rax, [rsp + 0x68]
mov qword [rbx + 0x20], rax
lea rax, [rsp + 0x68]
mov qword [rbx + 0x28], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rsi
mov r9, rbx
xor r8d, r8d
mov edx, r15d
mov rcx, r13
call fcn.1801e02a0
movzx ebp, al
movzx ecx, byte [rbx + 0x4b]
mov byte [r12], cl
test cl, cl
jne 0x1801e09bf
cmp byte [rbx + 0x4a], cl
jne 0x1801e09b6
mov rcx, rsi
call fcn.180175b10
test al, al
jne 0x1801e09cf
test bpl, bpl
je 0x1801e09ad
mov rcx, rsi
call fcn.180175ac0
test al, al
jne 0x1801e0999
test r14, r14
je 0x1801e0967
mov rdx, rdi
mov rcx, r14
call fcn.1801256d0
test al, al
jne 0x1801e0990
cmp byte [rbx + 0x49], 0
je 0x1801e0856
cmp dword [rbx + 0x88], r15d
jne 0x1801e0856
mov bl, 1
jmp 0x1801e09d1
mov rcx, rsi
call fcn.180175b40
mov byte [rsi + 0x28], 1
jmp 0x1801e09cf
lea rdx, str.Aborted_by_app.
jmp 0x1801e09c6
mov r8, rdi
lea rdx, str.readChannelData
mov rcx, rsi
call fcn.180175be0
jmp 0x1801e09cf
lea rdx, str.readChannelData_failed.
jmp 0x1801e09c6
lea rdx, str.Channel_no_longer_exists.
jmp 0x1801e09c6
lea rdx, str.disconnected.
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
lea rcx, [rsp + 0x68]
call fcn.1800ba970
nop
lea rcx, [rsp + 0x38]
call fcn.180105c80
nop
lea rcx, [rsp + 0x50]
call fcn.180103680
movzx eax, bl
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.18007b140
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret