Function at 0x140124dc8
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 [0x140198858]
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, [0x1401a69c8]
lea rcx, [rbp + 0xd0]
call fcn.1400083f8
nop
lea r8, [rbp + 0xd0]
mov rdx, r13
lea rcx, [rbp + 0x190]
call fcn.1400299c0
mov r8, rax
lea rdx, str.StreamClient::WaitFBs:__s
lea ecx, [rbx + 3]
call fcn.140025290
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x190]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xd0]
call fcn.140007eb8
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12d, eax
mov dword [rsp + 0x74], eax
mov edx, 0x9c40
mov rcx, r15
call fcn.140123d34
test al, al
jne 0x140124ed7
lea r8, str.StreamClient::WaitFBs_failed_to_ensure_connection
lea edx, [rbx + 0x58]
lea rcx, [rbp + 0x1b0]
call fcn.14002f41c
lea rdx, [0x1401e5908]
lea rcx, [rbp + 0x1b0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov rdi, qword [r13 + 8]
mov rbx, qword [r13]
jmp 0x140124f2c
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.1400082c0
nop
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, r15
call fcn.140124798
test al, al
jne 0x140124f33
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.140007eb8
add rbx, 0x20
cmp rbx, rdi
jne 0x140124ee1
jmp 0x140124f7a
lea r8, [rbp + 0x30]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.1401239b4
lea rax, [rbp + 0x30]
cmp r14, rax
je 0x140124f65
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.1400082c0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x30]
call fcn.140007eb8
mov al, 1
jmp 0x1401257a6
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 0x1401254ff
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.1400082c0
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.1400082c0
nop
mov rcx, qword [rbp]
test rcx, rcx
sete al
test al, al
jne 0x14012503a
test rcx, rcx
je 0x140125037
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 0x140124ffe
xor r12d, r12d
or rsi, 0xffffffffffffffff
jmp 0x14012503a
xor r12d, r12d
lea r8, [0x140197240]
lea rdx, [r15 + 0x10]
lea rcx, [rbp + 0x170]
call fcn.140005dbc
nop
lea r8, [rbp - 0x10]
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.140005d68
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x170]
call fcn.140007eb8
mov qword [rbp + 0xc8], 7
mov qword [rbp + 0xc0], r12
mov word [rbp + 0xb0], r12w
mov r8d, 1
lea rdx, [0x140197240]
lea rcx, [rbp + 0xb0]
call fcn.1400083f8
nop
mov qword [rbp + 0x108], 7
mov qword [rbp + 0x100], r12
mov word [rbp + 0xf0], r12w
mov r8d, 1
lea rdx, [0x14017c6c4]
lea rcx, [rbp + 0xf0]
call fcn.1400083f8
nop
xor r9d, r9d
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x90]
call fcn.140007894
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf0]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xb0]
call fcn.140007eb8
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 0x140125152
lea rdx, [0x1402720a0]
call fcn.1400082c0
mov r8d, r12d
jmp 0x140125164
lea rdx, [0x1402720e0]
call fcn.1400082c0
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.14001dd24
nop
mov qword [rsp + 0x78], r12
mov dword [rbp - 0x80], 0x93
call fcn.1400260a4
test al, al
jne 0x140125209
cmp byte [r15 + 0x30], r12b
je 0x140125209
mov ecx, 0x48
call fcn.140022308
mov qword [rbp - 0x68], rax
test rax, rax
je 0x1401251c1
lea rdx, [rbp + 0x70]
mov rcx, rax
call fcn.14004af90
mov rsi, rax
jmp 0x1401251c4
mov rsi, r12
mov dword [rbp - 0x40], 0x93
test rsi, rsi
je 0x1401251d4
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.14013c468
mov rcx, rax
mov edx, 0x100000
call fcn.14004c43c
test al, al
je 0x140125388
or rsi, 0xffffffffffffffff
jmp 0x1401252d7
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.1400369ec
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.140022308
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140125295
mov byte [rsp + 0x20], r12b
mov r9b, 1
lea r8, [rbp + 0x110]
lea rdx, [rbp + 0x70]
mov rcx, rax
call fcn.140036740
jmp 0x140125298
mov rax, r12
mov dword [rbp - 0x30], 0x93
test rax, rax
je 0x1401252a8
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 0x1401252c6
call sub.Mso20Win32Client.dll_Ordinal_1158
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x140]
call fcn.140007eb8
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.140029a7c
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x58]
call fcn.140125a24
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140125329
add rcx, 0x10
mov eax, esi
lock xadd dword [rcx + 8], eax
add eax, esi
jne 0x140125329
test rcx, rcx
je 0x140125329
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x50]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x90]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x10]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x10]
call fcn.140007eb8
add rbx, 0x20
cmp rbx, rdi
je 0x1401254f4
jmp 0x140124fa2
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.140123a64
xor r8d, r8d
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140124798
test al, al
je 0x14012546e
lea r8, [rbp + 0x10]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.1401239b4
lea rax, [rbp + 0x10]
cmp r14, rax
je 0x1401253ea
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x10]
mov rcx, r14
call fcn.1400082c0
nop
test rsi, rsi
je 0x140125410
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x140125410
test rcx, rcx
je 0x140125410
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x50]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x90]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x10]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x10]
call fcn.140007eb8
nop
lea rcx, [rsp + 0x58]
call fcn.140125930
nop
jmp 0x140124f73
test rsi, rsi
je 0x140125494
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x140125494
test rcx, rcx
je 0x140125494
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x70]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x50]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x90]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x10]
call fcn.140007eb8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x10]
call fcn.140007eb8
nop
lea rcx, [rsp + 0x58]
call fcn.140125930
nop
xor al, al
jmp 0x1401257a6
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.14002c3c0
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0x58]
cmp rbx, qword [rsp + 0x60]
je 0x140125591
mov rdi, qword [rbx]
mov qword [rbp - 0x78], rdi
mov dword [rbp - 0x70], 0x93
test rdi, rdi
je 0x140125544
lock inc dword [rdi + 0x18]
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp - 0x78]
call fcn.14001dad8
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1401259c0
nop
test rdi, rdi
je 0x140125581
lea rcx, [rdi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140125581
test rcx, rcx
je 0x140125581
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
add rbx, 0x10
cmp rbx, qword [rsp + 0x60]
jne 0x140125529
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsi]
mov rdi, qword [rsi]
jmp 0x1401255c4
lea rdx, [rdi + 0x10]
lea rcx, [rbp - 0x58]
call fcn.14002f0f8
nop
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x48]
call fcn.1401259c0
nop
lea rax, vtable.OSynchronizationHandle.0
mov qword [rbp - 0x58], rax
mov rdi, qword [rdi]
cmp rdi, rsi
jne 0x140125599
mov esi, 1
or r8d, 0xffffffff
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.14002f128
mov edx, eax
cmp rdx, qword [rsp + 0x50]
jae 0x140125771
mov rax, qword [rsp + 0x60]
sub rax, rbx
sar rax, 4
cmp rdx, rax
jae 0x14012573a
shl rdx, 5
add rdx, qword [r13]
cmp r14, rdx
je 0x14012561c
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, r14
call fcn.1400082c0
mov r8, r14
lea rdx, str.StreamClient::WaitFBs:__s_completion_event_set
mov ecx, esi
call fcn.140123a0c
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140124798
test al, al
jne 0x140125712
mov rdx, r14
mov rcx, r15
call fcn.140123efc
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 0x1401256be
lea eax, [rdi - 2]
cmp eax, esi
jbe 0x1401256be
cmp edi, 5
je 0x1401256be
lea eax, [rdi - 0x190]
cmp eax, 0xc7
jbe 0x1401256be
cmp edx, dword [rbp + 0xcd0]
ja 0x1401256be
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.140123b14
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140124b6c
jmp 0x1401255ce
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.1401234ec
lea rdx, [0x1401e5908]
lea rcx, [rbp + 0x540]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x48]
call fcn.14002c420
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.140027afc
nop
lea rcx, [rsp + 0x58]
call fcn.140125930
nop
mov al, sil
jmp 0x1401257a6
lea rdx, str.StreamClient::WaitFB:__s_Cancel_event_set
mov ecx, esi
call fcn.14011ac30
nop
lea rcx, [rsp + 0x48]
call fcn.14002c420
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.140027afc
nop
lea rcx, [rsp + 0x58]
call fcn.140125930
nop
jmp 0x1401254ed
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.1401235cc
lea rdx, [0x1401e5908]
lea rcx, [rbp + 0x8d0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, qword [rbp + 0xc60]
xor rcx, rsp
call fcn.140022430
mov rbx, qword [rsp + 0xdc8]
add rsp, 0xd70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret