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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xca8]
sub rsp, 0xd70
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x14007bd60]
xor rax, rsp
mov qword [rbp + 0xc60], rax
mov rsi, r9
mov qword [rbp - 0x60], r9
mov r14, r8
mov r13, rdx
mov r15, rcx
mov qword [rbp + 0xe8], 7
xor ebx, ebx
mov qword [rbp + 0xe0], rbx
mov word [rbp + 0xd0], bx
lea r8d, [rbx + 1]
lea rdx, [0x1400859b0]
lea rcx, [rbp + 0xd0]
call fcn.1400054c8
nop
lea r8, [rbp + 0xd0]
mov rdx, r13
lea rcx, [rbp + 0x190]
call fcn.140027f30
mov r8, rax
lea rdx, str.StreamClient::WaitFBs:__s
lea ecx, [rbx + 3]
call fcn.140048244
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x190]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xd0]
call fcn.140004f90
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12d, eax
mov dword [rsp + 0x74], eax
mov edx, 0x9c40
mov rcx, r15
call fcn.1400616c0
test al, al
jne 0x14006290b
lea r8, str.StreamClient::WaitFBs_failed_to_ensure_connection
lea edx, [rbx + 0x58]
lea rcx, [rbp + 0x1b0]
call fcn.1400486f0
lea rdx, [0x14008be38]
lea rcx, [rbp + 0x1b0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov rdi, qword [r13 + 8]
mov rbx, qword [r13]
jmp 0x140062960
mov qword [rbp + 0x48], 7
xor eax, eax
mov qword [rbp + 0x40], rax
mov word [rbp + 0x30], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.140005390
nop
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, r15
call fcn.140062124
test al, al
jne 0x140062967
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.140004f90
add rbx, 0x20
cmp rbx, rdi
jne 0x140062915
jmp 0x1400629ae
lea r8, [rbp + 0x30]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.140061260
lea rax, [rbp + 0x30]
cmp r14, rax
je 0x140062999
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.140005390
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.140004f90
mov al, 1
jmp 0x1400631da
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
xor eax, eax
mov qword [rsp + 0x68], rax
mov rdi, qword [r13 + 8]
mov rbx, qword [r13]
cmp rbx, rdi
je 0x140062f33
xor r12d, r12d
or rsi, 0xffffffffffffffff
mov qword [rbp + 0x28], 7
mov qword [rbp + 0x20], r12
mov word [rbp + 0x10], r12w
mov r9, rsi
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140005390
nop
mov qword [rbp + 8], 7
mov qword [rbp], r12
mov word [rbp - 0x10], r12w
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x10]
call fcn.140005390
nop
mov rcx, qword [rbp]
test rcx, rcx
sete al
test al, al
jne 0x140062a6e
test rcx, rcx
je 0x140062a6b
lea rax, [rbp - 0x10]
cmp qword [rbp + 8], 8
cmovae rax, qword [rbp - 0x10]
lea rsi, [rbp - 0x10]
cmovae rsi, qword [rbp - 0x10]
movzx ecx, word [rax + r12*2]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_towlower]
mov word [rsi + r12*2], ax
inc r12
cmp r12, qword [rbp]
jb 0x140062a32
xor r12d, r12d
or rsi, 0xffffffffffffffff
jmp 0x140062a6e
xor r12d, r12d
lea r8, [0x140075750]
lea rdx, [r15 + 0x10]
lea rcx, [rbp + 0x170]
call fcn.140002b54
nop
lea r8, [rbp - 0x10]
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.140002ae8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x170]
call fcn.140004f90
mov qword [rbp + 0xc8], 7
mov qword [rbp + 0xc0], r12
mov word [rbp + 0xb0], r12w
mov r8d, 1
lea rdx, [0x140075750]
lea rcx, [rbp + 0xb0]
call fcn.1400054c8
nop
mov qword [rbp + 0x108], 7
mov qword [rbp + 0x100], r12
mov word [rbp + 0xf0], r12w
mov r8d, 1
lea rdx, [0x140074d74]
lea rcx, [rbp + 0xf0]
call fcn.1400054c8
nop
xor r9d, r9d
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x90]
call fcn.140004820
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf0]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xb0]
call fcn.140004f90
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], r12
mov word [rbp + 0x50], r12w
mov r9, rsi
xor r8d, r8d
lea rcx, [rbp + 0x50]
cmp byte [r15 + 0x30], r12b
je 0x140062b86
lea rdx, [0x1400b5bd0]
call fcn.140005390
mov r8d, r12d
jmp 0x140062b98
lea rdx, [0x1400b5c10]
call fcn.140005390
mov r8d, 1
mov byte [rsp + 0x28], r12b
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x70]
call fcn.14000895c
nop
mov qword [rsp + 0x78], r12
mov dword [rbp - 0x80], 0x93
call fcn.1400486d0
test al, al
jne 0x140062c3d
cmp byte [r15 + 0x30], r12b
je 0x140062c3d
mov ecx, 0x48
call fcn.1400375d4
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140062bf5
lea rdx, [rbp + 0x70]
mov rcx, rax
call fcn.140007f88
mov rsi, rax
jmp 0x140062bf8
mov rsi, r12
mov dword [rbp - 0x40], 0x93
test rsi, rsi
je 0x140062c08
lock inc dword [rsi + 0x18]
mov qword [rbp - 0x18], r12
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x48], r12
lea rcx, [rsp + 0x78]
call fcn.140010220
mov rcx, rax
mov edx, 0x100000
call fcn.140062434
test al, al
je 0x140062dbc
or rsi, 0xffffffffffffffff
jmp 0x140062d0b
lea rax, vtable.RefCounted.0
mov qword [rbp + 0x110], rax
mov dword [rbp + 0x118], r12d
lea rax, vtable.OSecurityAttributes.0
mov qword [rbp + 0x110], rax
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x138]
call fcn.140029fcc
mov dword [rbp + 0x160], 0x8b
mov dword [rbp + 0x120], 0x18
mov dword [rbp + 0x130], r12d
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x128], rax
mov ecx, 0x48
call fcn.1400375d4
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140062cc9
mov byte [rsp + 0x20], r12b
mov r9b, 1
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x70]
mov rcx, rax
call fcn.140029e84
jmp 0x140062ccc
mov rax, r12
mov dword [rbp - 0x30], 0x93
test rax, rax
je 0x140062cdc
lock inc dword [rax + 0x18]
mov qword [rbp - 0x28], r12
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x38], r12
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x140062cfa
call sub.Mso20Win32Client.dll_Ordinal_1158
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x140]
call fcn.140004f90
lea r9, [rbp + 0x70]
lea r8, [rbp + 0x10]
lea rdx, str.StreamClient::WaitFBs:__s_going_to_wait_on_FB_Event:__s
mov ecx, 3
call fcn.1400431a8
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.1400633f0
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140062d5d
add rcx, 0x10
mov eax, esi
lock xadd dword [rcx + 8], eax
add eax, esi
jne 0x140062d5d
test rcx, rcx
je 0x140062d5d
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x50]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x90]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x10]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x10]
call fcn.140004f90
add rbx, 0x20
cmp rbx, rdi
je 0x140062f28
jmp 0x1400629d6
lea r9, [rbp + 0x70]
lea r8, [rbp + 0x10]
lea rdx, str.StreamClient::WaitFBs:__s_failed_to_open_FB_Event:__s
mov ecx, 1
call fcn.140061370
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140062124
test al, al
je 0x140062ea2
lea r8, [rbp + 0x10]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.140061260
lea rax, [rbp + 0x10]
cmp r14, rax
je 0x140062e1e
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, r14
call fcn.140005390
nop
test rsi, rsi
je 0x140062e44
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x140062e44
test rcx, rcx
je 0x140062e44
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x50]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x90]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x10]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x10]
call fcn.140004f90
nop
lea rcx, [rsp + 0x58]
call fcn.140063364
nop
jmp 0x1400629a7
test rsi, rsi
je 0x140062ec8
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x140062ec8
test rcx, rcx
je 0x140062ec8
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x50]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x90]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x10]
call fcn.140004f90
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x10]
call fcn.140004f90
nop
lea rcx, [rsp + 0x58]
call fcn.140063364
nop
xor al, al
jmp 0x1400631da
mov rsi, qword [rbp - 0x60]
mov r12d, dword [rsp + 0x74]
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140009f10
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0x58]
cmp rbx, qword [rsp + 0x60]
je 0x140062fc5
mov rdi, qword [rbx]
mov qword [rbp - 0x78], rdi
mov dword [rbp - 0x70], 0x93
test rdi, rdi
je 0x140062f78
lock inc dword [rdi + 0x18]
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp - 0x78]
call fcn.14001b400
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140019954
nop
test rdi, rdi
je 0x140062fb5
lea rcx, [rdi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140062fb5
test rcx, rcx
je 0x140062fb5
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
add rbx, 0x10
cmp rbx, qword [rsp + 0x60]
jne 0x140062f5d
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsi]
mov rdi, qword [rsi]
jmp 0x140062ff8
lea rdx, [rdi + 0x10]
lea rcx, [rbp - 0x58]
call fcn.14003aabc
nop
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x48]
call fcn.140019954
nop
lea rax, vtable.OSynchronizationHandle.0
mov qword [rbp - 0x58], rax
mov rdi, qword [rdi]
cmp rdi, rsi
jne 0x140062fcd
mov esi, 1
or r8d, 0xffffffff
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.14003aaec
mov edx, eax
cmp rdx, qword [rsp + 0x50]
jae 0x1400631a5
mov rax, qword [rsp + 0x60]
sub rax, rbx
sar rax, 4
cmp rdx, rax
jae 0x14006316e
shl rdx, 5
add rdx, qword [r13]
cmp r14, rdx
je 0x140063050
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, r14
call fcn.140005390
mov r8, r14
lea rdx, str.StreamClient::WaitFBs:__s_completion_event_set
mov ecx, esi
call fcn.140061318
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140062124
test al, al
jne 0x140063146
mov rdx, r14
mov rcx, r15
call fcn.140061888
mov edi, eax
mov dword [rsp + 0x40], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
sub edx, r12d
lea ecx, [rdx - 1]
cmp eax, r12d
cmovb edx, ecx
mov dword [rsp + 0x70], edx
cmp edi, 0x570
je 0x1400630f2
lea eax, [rdi - 2]
cmp eax, esi
jbe 0x1400630f2
cmp edi, 5
je 0x1400630f2
lea eax, [rdi - 0x190]
cmp eax, 0xc7
jbe 0x1400630f2
cmp edx, dword [rbp + 0xcd0]
ja 0x1400630f2
lea r9, [rsp + 0x40]
mov r8, r14
lea rdx, str.StreamClient::WaitFBs_Failed_for__s._Error:__d._Continuing_to_wait_due_to_timeout.
mov ecx, esi
call fcn.140061420
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.1400625a8
jmp 0x140063002
lea rax, [rbp + 0xcd0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9, str.StreamClient::WaitFBs_Failed_for__s._Error:__d__Elapsed:__d__Timeout:__d
mov r8d, edi
mov edx, 0xae
lea rcx, [rbp + 0x540]
call fcn.140060c34
lea rdx, [0x14008be38]
lea rcx, [rbp + 0x540]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x48]
call fcn.14000a134
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.1400171d0
nop
lea rcx, [rsp + 0x58]
call fcn.140063364
nop
mov al, sil
jmp 0x1400631da
lea rdx, str.StreamClient::WaitFB:__s_Cancel_event_set
mov ecx, esi
call fcn.1400612c0
nop
lea rcx, [rsp + 0x48]
call fcn.14000a134
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.1400171d0
nop
lea rcx, [rsp + 0x58]
call fcn.140063364
nop
jmp 0x140062f21
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea r9, str.StreamClient::WaitFBs:_Wait_for_multiple_events_failed._Returned_value_is_greater_than_number_of_events
mov edx, 0xf
lea rcx, [rbp + 0x8d0]
call fcn.140060d14
lea rdx, [0x14008be38]
lea rcx, [rbp + 0x8d0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, qword [rbp + 0xc60]
xor rcx, rsp
call fcn.1400387b0
mov rbx, qword [rsp + 0xdc8]
add rsp, 0xd70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret