Function at 0x140125094
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 [0x140191810]
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, [0x1401a0488]
lea rcx, [rbp + 0x98]
call fcn.140007f48
nop
lea r8, [rbp + 0x98]
mov rdx, r13
lea rcx, [rbp + 0x180]
call fcn.14002fb44
mov r8, rax
lea rdx, str.StreamClient::WaitFBs:__s
lea ecx, [rbx + 3]
call fcn.140027dc0
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x180]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x98]
call fcn.140007a08
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12d, eax
mov dword [rsp + 0x58], eax
mov edx, 0x9c40
mov rcx, r15
call fcn.140124000
test al, al
jne 0x1401251a3
lea r8, str.StreamClient::WaitFBs_failed_to_ensure_connection
lea edx, [rbx + 0x58]
lea rcx, [rbp + 0x1c0]
call fcn.140036228
lea rdx, [0x1401df028]
lea rcx, [rbp + 0x1c0]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
mov rdi, qword [r13 + 8]
mov rbx, qword [r13]
jmp 0x1401251f8
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.140007e10
nop
xor r8d, r8d
lea rdx, [rbp + 0x38]
mov rcx, r15
call fcn.140124a64
test al, al
jne 0x1401251ff
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140007a08
add rbx, 0x20
cmp rbx, rdi
jne 0x1401251ad
jmp 0x140125246
lea r8, [rbp + 0x38]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.140123c80
lea rax, [rbp + 0x38]
cmp r14, rax
je 0x140125231
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x38]
mov rcx, r14
call fcn.140007e10
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140007a08
mov al, 1
jmp 0x140125a72
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 0x1401257cb
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.140007e10
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.140007e10
nop
mov rcx, qword [rbp + 8]
test rcx, rcx
sete al
test al, al
jne 0x140125306
test rcx, rcx
je 0x140125303
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 0x1401252ca
xor r12d, r12d
or rsi, 0xffffffffffffffff
jmp 0x140125306
xor r12d, r12d
lea r8, [0x140190590]
lea rdx, [r15 + 0x10]
lea rcx, [rbp + 0x1a0]
call fcn.14000590c
nop
lea r8, [rbp - 8]
mov rdx, rax
lea rcx, [rbp + 0xf8]
call fcn.1400058b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x1a0]
call fcn.140007a08
mov qword [rbp + 0xf0], 7
mov qword [rbp + 0xe8], r12
mov word [rbp + 0xd8], r12w
mov r8d, 1
lea rdx, [0x140190590]
lea rcx, [rbp + 0xd8]
call fcn.140007f48
nop
mov qword [rbp + 0xd0], 7
mov qword [rbp + 0xc8], r12
mov word [rbp + 0xb8], r12w
mov r8d, 1
lea rdx, [0x1401754a4]
lea rcx, [rbp + 0xb8]
call fcn.140007f48
nop
xor r9d, r9d
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0xf8]
call fcn.1400073e4
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xb8]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xd8]
call fcn.140007a08
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 0x14012541e
lea rdx, [0x140260160]
call fcn.140007e10
mov r8d, r12d
jmp 0x140125430
lea rdx, [0x1402601a0]
call fcn.140007e10
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.14001e740
nop
mov qword [rsp + 0x78], r12
mov dword [rbp - 0x80], 0x93
call fcn.140028bd4
test al, al
jne 0x1401254d5
cmp byte [r15 + 0x30], r12b
je 0x1401254d5
mov ecx, 0x48
call fcn.140021ddc
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14012548d
lea rdx, [rbp + 0x78]
mov rcx, rax
call fcn.14004d894
mov rsi, rax
jmp 0x140125490
mov rsi, r12
mov dword [rbp - 0x20], 0x93
test rsi, rsi
je 0x1401254a0
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.1401302dc
mov rcx, rax
mov edx, 0x100000
call fcn.14004eb88
test al, al
je 0x140125654
or rsi, 0xffffffffffffffff
jmp 0x1401255a3
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.14003a214
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.140021ddc
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140125561
mov byte [rsp + 0x20], r12b
mov r9b, 1
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x78]
mov rcx, rax
call fcn.140039f68
jmp 0x140125564
mov rax, r12
mov dword [rbp - 0x10], 0x93
test rax, rax
je 0x140125574
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 0x140125592
call sub.Mso20Win32Client.dll_Ordinal_192
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x150]
call fcn.140007a08
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.14002fc00
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x60]
call fcn.140125cf0
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1401255f5
add rcx, 0x10
mov eax, esi
lock xadd dword [rcx + 8], eax
add eax, esi
jne 0x1401255f5
test rcx, rcx
je 0x1401255f5
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x78]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf8]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 8]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x18]
call fcn.140007a08
add rbx, 0x20
cmp rbx, rdi
je 0x1401257c0
jmp 0x14012526e
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.140123d30
xor r8d, r8d
lea rdx, [rbp - 8]
mov rcx, r15
call fcn.140124a64
test al, al
je 0x14012573a
lea r8, [rbp + 0x18]
lea rdx, str.StreamClient::WaitFBs:__s_complete
mov ecx, 3
call fcn.140123c80
lea rax, [rbp + 0x18]
cmp r14, rax
je 0x1401256b6
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x18]
mov rcx, r14
call fcn.140007e10
nop
test rsi, rsi
je 0x1401256dc
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x1401256dc
test rcx, rcx
je 0x1401256dc
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x78]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf8]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 8]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x18]
call fcn.140007a08
nop
lea rcx, [rsp + 0x60]
call fcn.140125bfc
nop
jmp 0x14012523f
test rsi, rsi
je 0x140125760
lea rcx, [rsi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
sub eax, 1
jne 0x140125760
test rcx, rcx
je 0x140125760
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x78]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x58]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xf8]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 8]
call fcn.140007a08
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x18]
call fcn.140007a08
nop
lea rcx, [rsp + 0x60]
call fcn.140125bfc
nop
xor al, al
jmp 0x140125a72
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.14003443c
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0x60]
cmp rbx, qword [rsp + 0x68]
je 0x14012585d
mov rdi, qword [rbx]
mov qword [rbp - 0x70], rdi
mov dword [rbp - 0x68], 0x93
test rdi, rdi
je 0x140125810
lock inc dword [rdi + 0x18]
mov rdi, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.14008a3d4
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140125c88
nop
test rdi, rdi
je 0x14012584d
lea rcx, [rdi + 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14012584d
test rcx, rcx
je 0x14012584d
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
add rbx, 0x10
cmp rbx, qword [rsp + 0x68]
jne 0x1401257f5
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsi]
mov rdi, qword [rsi]
jmp 0x140125890
lea rdx, [rdi + 0x10]
lea rcx, [rbp - 0x60]
call fcn.140035f0c
nop
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.140125c88
nop
lea rax, vtable.OSynchronizationHandle.0
mov qword [rbp - 0x60], rax
mov rdi, qword [rdi]
cmp rdi, rsi
jne 0x140125865
mov esi, 1
or r8d, 0xffffffff
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140035f3c
mov edx, eax
cmp rdx, qword [rsp + 0x50]
jae 0x140125a3d
mov rax, qword [rsp + 0x68]
sub rax, rbx
sar rax, 4
cmp rdx, rax
jae 0x140125a06
shl rdx, 5
add rdx, qword [r13]
cmp r14, rdx
je 0x1401258e8
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, r14
call fcn.140007e10
mov r8, r14
lea rdx, str.StreamClient::WaitFBs:__s_completion_event_set
mov ecx, esi
call fcn.140123cd8
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140124a64
test al, al
jne 0x1401259de
mov rdx, r14
mov rcx, r15
call fcn.1401241c8
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 0x14012598a
lea eax, [rdi - 2]
cmp eax, esi
jbe 0x14012598a
cmp edi, 5
je 0x14012598a
lea eax, [rdi - 0x190]
cmp eax, 0xc7
jbe 0x14012598a
cmp edx, dword [rbp + 0xce0]
ja 0x14012598a
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.140123de0
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.140124e40
jmp 0x14012589a
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.1401237cc
lea rdx, [0x1401df028]
lea rcx, [rbp + 0x550]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rcx, [rsp + 0x48]
call fcn.14003449c
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.1400ebd70
nop
lea rcx, [rsp + 0x60]
call fcn.140125bfc
nop
mov al, sil
jmp 0x140125a72
lea rdx, str.StreamClient::WaitFB:__s_Cancel_event_set
mov ecx, esi
call fcn.14011b524
nop
lea rcx, [rsp + 0x48]
call fcn.14003449c
mov rdx, rsi
mov rcx, qword [rsp + 0x48]
call fcn.1400ebd70
nop
lea rcx, [rsp + 0x60]
call fcn.140125bfc
nop
jmp 0x1401257b9
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.1401238ac
lea rdx, [0x1401df028]
lea rcx, [rbp + 0x8e0]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
mov rcx, qword [rbp + 0xc70]
xor rcx, rsp
call fcn.140021f10
mov rbx, qword [rsp + 0xdd8]
add rsp, 0xd80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret