Function at 0x140045670
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x150
mov qword [rbp - 0x128], rbx
mov qword [rbp - 0x120], rsi
mov qword [rbp - 0x118], rdi
mov qword [rbp - 0x110], r12
mov qword [rbp - 0x108], r13
mov qword [rbp - 0x100], r14
mov qword [rbp - 0xf8], r15
mov r12, rcx
mov rsi, rdx
mov eax, dword [0x1402c0630]
mov rbx, qword gs:[0x58]
mov rdi, qword [rbx + rax*8]
mov r9d, 0x170
cmp qword [rdi + r9], 0
jne 0x14004570a
xor eax, eax
mov rbx, qword [rbp - 0x128]
mov rsi, qword [rbp - 0x120]
mov rdi, qword [rbp - 0x118]
mov r12, qword [rbp - 0x110]
mov r13, qword [rbp - 0x108]
mov r14, qword [rbp - 0x100]
mov r15, qword [rbp - 0xf8]
mov rsp, rbp
pop rbp
ret
cmp qword [0x1402c1c30], 0
jne 0x14004575e
lea r10, str.MonoTimeImpl__ClockType.normal__failed_to_get_the_frequency_of_the_systems_monotonic_clock.
mov qword [rbp - 0xd8], r10
mov qword [rbp - 0xe0], 0x5c
lea r8, [rbp - 0xe0]
lea rbx, str.srccore_time.d
mov qword [rbp - 0xc8], rbx
mov qword [rbp - 0xd0], 0xf
lea rdx, [rbp - 0xd0]
mov ecx, 0x872
call fcn.14002c150
lea rcx, [rbp - 0xc0]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rax, qword [rbp - 0xc0]
mov qword [rbp - 0xf0], rax
mov qword [rbp - 0xe8], rax
cmp dword [0x1402b6cb8], 0
je 0x140045793
mov bl, byte [0x1402b6c81]
xor bl, 1
jne 0x140045798
xor r15d, r15d
jmp 0x14004579e
mov r15d, 1
test r15b, r15b
je 0x1400457c0
cmp qword [r12 + 0x348], 0
jne 0x1400457c0
test sil, sil
je 0x1400457b8
xor r15d, r15d
jmp 0x1400457c0
mov rcx, r12
call fcn.1400461a0
lea rcx, [r12 + 0x40]
call fcn.14002be20
mov rcx, r12
call fcn.14002be20
call fcn.140049ff0
lea rcx, [r12 + 0xa8]
mov r14, qword [rcx + 8]
mov rbx, qword [rcx]
xor esi, esi
test r14, r14
je 0x140045846
mov rdx, qword [rbx + rsi*8]
cmp byte [rdx + 0xb0], 0
je 0x14004581a
lea rdi, [rdx + 0x18]
mov r8, qword [rdi + 8]
add r8, 0x3f
shr r8, 6
shl r8, 3
xor edx, edx
mov rcx, qword [rdi]
call fcn.14006f880
jmp 0x14004583e
lea rdi, [rdx + 0x18]
lea r13, [rdx + 0x28]
mov r8, qword [rdi + 8]
add r8, 0x3f
shr r8, 6
shl r8, 3
mov rdx, qword [r13]
mov rcx, qword [rdi]
call fcn.14006fc40
inc rsi
cmp rsi, r14
jb 0x1400457ed
cmp qword [0x1402c1c30], 0
jne 0x14004589a
lea rax, str.MonoTimeImpl__ClockType.normal__failed_to_get_the_frequency_of_the_systems_monotonic_clock.
mov qword [rbp - 0xa8], rax
mov qword [rbp - 0xb0], 0x5c
lea r8, [rbp - 0xb0]
lea rbx, str.srccore_time.d
mov qword [rbp - 0x98], rbx
mov qword [rbp - 0xa0], 0xf
lea rdx, [rbp - 0xa0]
mov ecx, 0x872
call fcn.14002c150
lea rcx, [rbp - 0x90]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rsi, qword [rbp - 0x90]
sub rsi, qword [rbp - 0xf0]
mov rax, rsi
cqo
idiv qword [0x1402c1c30]
imul rbx, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x1402c1c30]
add rbx, rax
add qword [0x1402c1ea0], rbx
mov rdx, qword [rbp - 0x90]
mov qword [rbp - 0xf0], rdx
test r15b, r15b
je 0x1400458fe
mov rcx, r12
call fcn.140045ea0
jmp 0x14004591a
cmp byte [0x1402c1e90], 0
je 0x140045912
mov rcx, r12
call fcn.14004a0c0
jmp 0x14004591a
mov rcx, r12
call fcn.14004a1e0
mov rsi, qword [0x1402c1cf0]
cmp qword [0x1402c1cf0], 0
je 0x14004595e
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x140045952
mov rdx, rax
mov qword [rbp - 0x80], r12
lea rbx, [0x140045d70]
mov qword [rbp - 0x78], rbx
lea rcx, [rbp - 0x80]
call fcn.14004a300
mov rsi, qword [rsi + 0xa8]
test rsi, rsi
jne 0x14004592b
call fcn.14004a380
lea rdx, [r12 + 0x40]
xor esi, esi
mov qword [rdx], rsi
mov qword [r12], rsi
cmp qword [0x1402c1c30], rsi
jne 0x1400459b2
lea rax, str.MonoTimeImpl__ClockType.normal__failed_to_get_the_frequency_of_the_systems_monotonic_clock.
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x70], 0x5c
lea r8, [rbp - 0x70]
lea rdx, str.srccore_time.d
mov qword [rbp - 0x58], rdx
mov qword [rbp - 0x60], 0xf
lea rdx, [rbp - 0x60]
mov ecx, 0x872
call fcn.14002c150
lea rcx, [rbp - 0x50]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rsi, qword [rbp - 0x50]
sub rsi, qword [rbp - 0xf0]
mov rax, rsi
cqo
idiv qword [0x1402c1c30]
imul rbx, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x1402c1c30]
add rbx, rax
add qword [0x1402c1ea8], rbx
mov rcx, qword [rbp - 0x50]
sub rcx, qword [rbp - 0xe8]
mov rax, rcx
cqo
idiv qword [0x1402c1c30]
imul rsi, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x1402c1c30]
add rsi, rax
cmp rsi, qword [0x1402c1ec0]
setg cl
and ecx, 1
cmp rsi, qword [0x1402c1ec0]
setl dl
and edx, 1
sub ecx, edx
test ecx, ecx
jle 0x140045a51
mov qword [0x1402c1ec0], rsi
add qword [0x1402c1eb8], rsi
mov rbx, qword [rbp - 0x50]
mov qword [rbp - 0xf0], rbx
mov esi, dword [0x1402c0630]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov edx, 0x1a0
mov byte [rcx + rdx], 1
mov rcx, r12
sub rsp, 0x20
call fcn.140044a70
add rsp, 0x20
mov r13, rax
xor eax, eax
mov ebx, dword [0x1402c0630]
mov rdx, qword gs:[0x58]
mov rsi, qword [rdx + rbx*8]
mov ecx, 0x1a0
mov byte [rsi + rcx], al
jmp 0x140045ae1
cmp byte [r12 + 0xa0], al
jne 0x140045b08
mov ecx, dword [r12 + 0x148]
shl rcx, 0xc
sub rsp, 0x20
call fcn.140049d30
add rsp, 0x20
test al, al
je 0x140045b79
mov byte [r12 + 0xa0], 0
lea rcx, [r12 + 0xa8]
sub rsp, 0x20
call fcn.140046990
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
xor esi, esi
cmp qword [rbp - 0x40], rsi
je 0x140045b79
lea rbx, [r12 + 0x148]
mov rdx, qword [rbp - 0x38]
mov rdi, qword [rdx + rsi*8]
mov r8d, dword [rdi + 0x98]
sub dword [rbx], r8d
mov rcx, rdi
sub rsp, 0x20
call fcn.140046f40
add rsp, 0x20
mov rcx, rdi
sub rsp, 0x20
call fcn.140054e28
add rsp, 0x20
inc rsi
cmp rsi, qword [rbp - 0x40]
jb 0x140045b3e
xor eax, eax
lea rdi, [r12 + 0xc8]
mov ecx, 0xe
rep stosq qword [rdi], rax
xor r11d, r11d
lea r9, [r12 + 0xa8]
xor edi, edi
xor esi, esi
cmp qword [r9 + 8], rsi
je 0x140045bfe
mov rdx, qword [r9]
mov rsi, qword [rdx]
cmp byte [rsi + 0xb0], dil
jne 0x140045bca
movzx r10d, r11b
mov r10d, r10d
lea r14, [rsi + r10*4]
mov r8d, dword [r14 + 0xc0]
cmp r8, qword [rsi + 0x98]
jb 0x140045bfe
inc rdi
cmp rdi, qword [r9 + 8]
jae 0x140045bfe
mov rcx, qword [r9]
mov rsi, qword [rcx + rdi*8]
cmp byte [rsi + 0xb0], 0
jne 0x140045bca
movzx r8d, r11b
mov r8d, r8d
lea r10, [rsi + r8*4]
mov edx, dword [r10 + 0xc0]
cmp rdx, qword [rsi + 0x98]
jae 0x140045bca
cmp rdi, qword [r9 + 8]
jae 0x140045c09
mov r14, rsi
jmp 0x140045c0c
xor r14d, r14d
movzx ecx, r11b
mov ecx, ecx
lea rdx, [r12 + rcx*8]
mov qword [rdx + 0x150], r14
inc r11b
cmp r11b, 0xe
jb 0x140045b96
cmp qword [0x1402c1c30], 0
jne 0x140045c70
lea rax, str.MonoTimeImpl__ClockType.normal__failed_to_get_the_frequency_of_the_systems_monotonic_clock.
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], 0x5c
lea r8, [rbp - 0x30]
lea rbx, str.srccore_time.d
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x20], 0xf
lea rdx, [rbp - 0x20]
mov ecx, 0x872
sub rsp, 0x20
call fcn.14002c150
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call sub.KERNEL32.dll_QueryPerformanceCounter
add rsp, 0x20
mov rsi, qword [rbp - 0x10]
sub rsi, qword [rbp - 0xf0]
mov rax, rsi
cqo
idiv qword [0x1402c1c30]
imul rbx, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x1402c1c30]
add rbx, rax
add qword [0x1402c1eb0], rbx
mov rcx, qword [rbp - 0x10]
sub rcx, qword [rbp - 0xe8]
mov rax, rcx
cqo
idiv qword [0x1402c1c30]
imul rsi, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x1402c1c30]
add rsi, rax
cmp rsi, qword [0x1402c1ec8]
setg cl
and ecx, 1
cmp rsi, qword [0x1402c1ec8]
setl dl
and edx, 1
sub ecx, edx
test ecx, ecx
jle 0x140045d17
mov qword [0x1402c1ec8], rsi
inc qword [0x1402c1ed0]
mov rcx, r12
sub rsp, 0x20
call fcn.140043a30
add rsp, 0x20
mov rax, r13
mov rbx, qword [rbp - 0x128]
mov rsi, qword [rbp - 0x120]
mov rdi, qword [rbp - 0x118]
mov r12, qword [rbp - 0x110]
mov r13, qword [rbp - 0x108]
mov r14, qword [rbp - 0x100]
mov r15, qword [rbp - 0xf8]
mov rsp, rbp
pop rbp
ret