Function at 0x140120bb4
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 - 0xcb8]
sub rsp, 0xd80
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1401d4618]
xor rax, rsp
mov qword [rbp + 0xc70], rax
mov rsi, r9
mov qword [rbp - 0x78], r9
mov r14, r8
mov r13, rdx
mov r15, rcx
mov qword [rbp + 0xb0], 7
xor ebx, ebx
mov qword [rbp + 0xa8], rbx
mov word [rbp + 0x98], bx
lea r8d, [rbx + 1]
lea rdx, [0x14019f364]
lea rcx, [rbp + 0x98]
call fcn.140008bbc
nop
lea r8, [rbp + 0x98]
mov rdx, r13
lea rcx, [rbp + 0x180]
call fcn.14002bfc4
mov r8, rax
lea rdx, str.StreamClient::WaitFBs:__s
lea ecx, [rbx + 3]
call fcn.140024b58
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x180]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x98]
call fcn.14000867c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12d, eax
mov dword [rsp + 0x58], eax
mov edx, 0x9c40
mov rcx, r15
call fcn.14011fb1c
test al, al
jne 0x140120cc3
lea r8, str.StreamClient::WaitFBs_failed_to_ensure_connection
lea edx, [rbx + 0x58]
lea rcx, [rbp + 0x1c0]
call fcn.14003187c
lea rdx, [0x1401e3810]
lea rcx, [rbp + 0x1c0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov rdi, qword [r13 + 8]
mov rbx, qword [r13]
jmp 0x140120d18
mov qword [rbp + 0x50], 7
xor eax, eax
mov qword [rbp + 0x48], rax
mov word [rbp + 0x38], ax
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x38]
call fcn.140008a84
nop
xor r8d, r8d
lea rdx, [rbp + 0x38]
mov rcx, r15
call fcn.140120584
test al, al
jne 0x140120d1f
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.14000867c
add rbx, 0x20
cmp rbx, rdi
jne 0x140120ccd
jmp 0x140120d66
lea r8, [rbp + 0x38]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.14011f728
lea rax, [rbp + 0x38]
cmp r14, rax
je 0x140120d51
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.140008a84
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.14000867c
mov al, 1
jmp 0x140121592
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor eax, eax
mov qword [rsp + 0x70], rax
mov rdi, qword [r13 + 8]
mov rbx, qword [r13]
cmp rbx, rdi
je 0x1401212eb
xor r12d, r12d
or rsi, 0xffffffffffffffff
mov qword [rbp + 0x30], 7
mov qword [rbp + 0x28], r12
mov word [rbp + 0x18], r12w
mov r9, rsi
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x18]
call fcn.140008a84
nop
mov qword [rbp + 0x10], 7
mov qword [rbp + 8], r12
mov word [rbp - 8], r12w
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 8]
call fcn.140008a84
nop
mov rcx, qword [rbp + 8]
test rcx, rcx
sete al
test al, al
jne 0x140120e26
test rcx, rcx
je 0x140120e23
lea rax, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rax, qword [rbp - 8]
lea rsi, [rbp - 8]
cmovae rsi, qword [rbp - 8]
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 + 8]
jb 0x140120dea
xor r12d, r12d
or rsi, 0xffffffffffffffff
jmp 0x140120e26
xor r12d, r12d
lea r8, [0x14018fcc0]
lea rdx, [r15 + 0x10]
lea rcx, [rbp + 0x1a0]
call fcn.1400063dc
nop
lea r8, [rbp - 8]
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.140006388
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x1a0]
call fcn.14000867c
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0xe8], r12
mov word [rbp + 0xd8], r12w
mov r8d, 1
lea rdx, [0x14018fcc0]
lea rcx, [rbp + 0xd8]
call fcn.140008bbc
nop
mov qword [rbp + 0xd0], 7
mov qword [rbp + 0xc8], r12
mov word [rbp + 0xb8], r12w
mov r8d, 1
lea rdx, [0x140174654]
lea rcx, [rbp + 0xb8]
call fcn.140008bbc
nop
xor r9d, r9d
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0xf8]
call fcn.14000804c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xb8]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xd8]
call fcn.14000867c
mov qword [rbp + 0x70], 7
mov qword [rbp + 0x68], r12
mov word [rbp + 0x58], r12w
mov r9, rsi
xor r8d, r8d
lea rcx, [rbp + 0x58]
cmp byte [r15 + 0x30], r12b
je 0x140120f3e
lea rdx, [0x14025d2b8]
call fcn.140008a84
mov r8d, r12d
jmp 0x140120f50
lea rdx, [0x14025d2f8]
call fcn.140008a84
mov r8d, 1
mov byte [rsp + 0x28], r12b
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0x78]
call fcn.14001b3a4
nop
mov qword [rsp + 0x78], r12
mov dword [rbp - 0x80], 0x93
call fcn.140025c3c
test al, al
jne 0x140120ff5
cmp byte [r15 + 0x30], r12b
je 0x140120ff5
mov ecx, 0x48
call fcn.1400206a0
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140120fad
lea rdx, [rbp + 0x78]
mov rcx, rax
call fcn.140046950
mov rsi, rax
jmp 0x140120fb0
mov rsi, r12
mov dword [rbp - 0x20], 0x93
test rsi, rsi
je 0x140120fc0
lock inc dword [rsi + 0x18]
mov qword [rbp - 0x40], r12
mov qword [rsp + 0x78], rsi
mov qword [rbp - 0x28], r12
lea rcx, [rsp + 0x78]
call fcn.14004f104
mov rcx, rax
mov edx, 0x100000
call fcn.140048044
test al, al
je 0x140121174
or rsi, 0xffffffffffffffff
jmp 0x1401210c3
lea rax, vtable.RefCounted.0
mov qword [rbp + 0x120], rax
mov dword [rbp + 0x128], r12d
lea rax, vtable.OSecurityAttributes.0
mov qword [rbp + 0x120], rax
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x148]
call fcn.14003587c
mov dword [rbp + 0x170], 0x8b
mov dword [rbp + 0x130], 0x18
mov dword [rbp + 0x140], r12d
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x138], rax
mov ecx, 0x48
call fcn.1400206a0
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140121081
mov byte [rsp + 0x20], r12b
mov r9b, 1
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x78]
mov rcx, rax
call fcn.1400355d0
jmp 0x140121084
mov rax, r12
mov dword [rbp - 0x10], 0x93
test rax, rax
je 0x140121094
lock inc dword [rax + 0x18]
mov qword [rbp - 0x30], r12
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x18], r12
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x1401210b2
call sub.Mso20Win32Client.dll_Ordinal_1399
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x150]
call fcn.14000867c
lea r9, [rbp + 0x78]
lea r8, [rbp + 0x18]
lea rdx, str.StreamClient::WaitFBs:__s_going_to_wait_on_FB_Event:__s
mov ecx, 3
call fcn.14002c080
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x60]
call fcn.140121810
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140121115
add rcx, 0x10
mov eax, esi
lock xadd dword [rcx + 8], eax
add eax, esi
jne 0x140121115
test rcx, rcx
je 0x140121115
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x78]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf8]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 8]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x18]
call fcn.14000867c
add rbx, 0x20
cmp rbx, rdi
je 0x1401212e0
jmp 0x140120d8e
lea r9, [rbp + 0x78]
lea r8, [rbp + 0x18]
lea rdx, str.StreamClient::WaitFBs:__s_failed_to_open_FB_Event:__s
mov ecx, 1
call fcn.14011f7dc
xor r8d, r8d
lea rdx, [rbp - 8]
mov rcx, r15
call fcn.140120584
test al, al
je 0x14012125a
lea r8, [rbp + 0x18]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.14011f728
lea rax, [rbp + 0x18]
cmp r14, rax
je 0x1401211d6
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x18]
mov rcx, r14
call fcn.140008a84
nop
test rsi, rsi
je 0x1401211fc
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x1401211fc
test rcx, rcx
je 0x1401211fc
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x78]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf8]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 8]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x18]
call fcn.14000867c
nop
lea rcx, [rsp + 0x60]
call fcn.14012171c
nop
jmp 0x140120d5f
test rsi, rsi
je 0x140121280
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x140121280
test rcx, rcx
je 0x140121280
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x78]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf8]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 8]
call fcn.14000867c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x18]
call fcn.14000867c
nop
lea rcx, [rsp + 0x60]
call fcn.14012171c
nop
xor al, al
jmp 0x140121592
mov rsi, qword [rbp - 0x78]
mov r12d, dword [rsp + 0x58]
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.140090c20
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0x60]
cmp rbx, qword [rsp + 0x68]
je 0x14012137d
mov rdi, qword [rbx]
mov qword [rbp - 0x70], rdi
mov dword [rbp - 0x68], 0x93
test rdi, rdi
je 0x140121330
lock inc dword [rdi + 0x18]
mov rdi, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.14001b130
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1401217a8
nop
test rdi, rdi
je 0x14012136d
lea rcx, [rdi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14012136d
test rcx, rcx
je 0x14012136d
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
add rbx, 0x10
cmp rbx, qword [rsp + 0x68]
jne 0x140121315
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsi]
mov rdi, qword [rsi]
jmp 0x1401213b0
lea rdx, [rdi + 0x10]
lea rcx, [rbp - 0x60]
call fcn.140031560
nop
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.1401217a8
nop
lea rax, vtable.OSynchronizationHandle.0
mov qword [rbp - 0x60], rax
mov rdi, qword [rdi]
cmp rdi, rsi
jne 0x140121385
mov esi, 1
or r8d, 0xffffffff
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140031590
mov edx, eax
cmp rdx, qword [rsp + 0x50]
jae 0x14012155d
mov rax, qword [rsp + 0x68]
sub rax, rbx
sar rax, 4
cmp rdx, rax
jae 0x140121526
shl rdx, 5
add rdx, qword [r13]
cmp r14, rdx
je 0x140121408
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, r14
call fcn.140008a84
mov r8, r14
lea rdx, str.StreamClient::WaitFBs:__s_completion_event_set
mov ecx, esi
call fcn.14011f784
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140120584
test al, al
jne 0x1401214fe
mov rdx, r14
mov rcx, r15
call fcn.14011fce8
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 + 0x5c], edx
cmp edi, 0x570
je 0x1401214aa
lea eax, [rdi - 2]
cmp eax, esi
jbe 0x1401214aa
cmp edi, 5
je 0x1401214aa
lea eax, [rdi - 0x190]
cmp eax, 0xc7
jbe 0x1401214aa
cmp edx, dword [rbp + 0xce0]
ja 0x1401214aa
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.14011f88c
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140120960
jmp 0x1401213ba
lea rax, [rbp + 0xce0]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x5c]
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 + 0x550]
call fcn.14011f278
lea rdx, [0x1401e3810]
lea rcx, [rbp + 0x550]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x48]
call fcn.14002fa50
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.14000bdbc
nop
lea rcx, [rsp + 0x60]
call fcn.14012171c
nop
mov al, sil
jmp 0x140121592
lea rdx, str.StreamClient::WaitFB:__s_Cancel_event_set
mov ecx, esi
call fcn.140116dc4
nop
lea rcx, [rsp + 0x48]
call fcn.14002fa50
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.14000bdbc
nop
lea rcx, [rsp + 0x60]
call fcn.14012171c
nop
jmp 0x1401212d9
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 + 0x8e0]
call fcn.14011f358
lea rdx, [0x1401e3810]
lea rcx, [rbp + 0x8e0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, qword [rbp + 0xc70]
xor rcx, rsp
call fcn.140121d80
mov rbx, qword [rsp + 0xdd8]
add rsp, 0xd80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret