Function at 0x140025760
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 dword [rbp + 0x28], r9d
mov r12, rcx
mov rsi, rdx
mov r14b, byte [rbp + 0x28]
mov eax, dword [0x14006a9b0]
mov rbx, qword gs:[0x58]
mov rdi, qword [rbx + rax*8]
mov r10d, 0x1b40
cmp qword [rdi + r10], 0
jne 0x140025802
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 [0x14006bf50], 0
jne 0x140025856
lea r11, str.MonoTimeImpl__ClockType.normal__failed_to_get_the_frequency_of_the_systems_monotonic_clock.
mov qword [rbp - 0xd8], r11
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.1400166a0
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 [0x140064c08], 0
je 0x14002588b
mov bl, byte [0x140064bd1]
xor bl, 1
jne 0x140025890
xor r15d, r15d
jmp 0x140025896
mov r15d, 1
test r15b, r15b
je 0x1400258b8
cmp qword [r12 + 0x348], 0
jne 0x1400258b8
test sil, sil
je 0x1400258b0
xor r15d, r15d
jmp 0x1400258b8
mov rcx, r12
call fcn.1400262c0
lea rcx, [r12 + 0x40]
call fcn.140016370
mov rcx, r12
call fcn.140016370
call fcn.14002a240
mov byte [rbp + 0x28], r14b
lea rcx, [r12 + 0xa8]
mov r14, qword [rcx + 8]
mov rbx, qword [rcx]
xor esi, esi
test r14, r14
je 0x140025942
mov rdx, qword [rbx + rsi*8]
cmp byte [rdx + 0xb0], 0
je 0x140025916
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.14004b9e0
jmp 0x14002593a
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.14004b340
inc rsi
cmp rsi, r14
jb 0x1400258e9
mov r14b, byte [rbp + 0x28]
cmp qword [0x14006bf50], 0
jne 0x14002599a
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.1400166a0
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 [0x14006bf50]
imul rbx, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x14006bf50]
add rbx, rax
add qword [0x14006c1b0], rbx
mov rdx, qword [rbp - 0x90]
mov qword [rbp - 0xf0], rdx
test r15b, r15b
je 0x140025a02
movzx edx, r14b
mov rcx, r12
call fcn.140025fb0
jmp 0x140025a26
cmp byte [0x14006c1a0], 0
je 0x140025a1a
movzx edx, r14b
mov rcx, r12
call fcn.14002a310
jmp 0x140025a26
movzx edx, r14b
mov rcx, r12
call fcn.14002a430
mov rsi, qword [0x14006c010]
cmp qword [0x14006c010], 0
je 0x140025a6a
mov rax, qword [rsi + 0x98]
test rax, rax
je 0x140025a5e
mov rdx, rax
mov qword [rbp - 0x80], r12
lea rbx, [0x140025e80]
mov qword [rbp - 0x78], rbx
lea rcx, [rbp - 0x80]
call fcn.14002a550
mov rsi, qword [rsi + 0xa8]
test rsi, rsi
jne 0x140025a37
call fcn.14002a5d0
lea rdx, [r12 + 0x40]
xor esi, esi
mov qword [rdx], rsi
mov qword [r12], rsi
cmp qword [0x14006bf50], rsi
jne 0x140025abe
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.1400166a0
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 [0x14006bf50]
imul rbx, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x14006bf50]
add rbx, rax
add qword [0x14006c1b8], rbx
mov rcx, qword [rbp - 0x50]
sub rcx, qword [rbp - 0xe8]
mov rax, rcx
cqo
idiv qword [0x14006bf50]
imul rsi, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x14006bf50]
add rsi, rax
cmp rsi, qword [0x14006c1d0]
setg cl
and ecx, 1
cmp rsi, qword [0x14006c1d0]
setl dl
and edx, 1
sub ecx, edx
test ecx, ecx
jle 0x140025b5d
mov qword [0x14006c1d0], rsi
add qword [0x14006c1c8], rsi
mov rbx, qword [rbp - 0x50]
mov qword [rbp - 0xf0], rbx
mov esi, dword [0x14006a9b0]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov edx, 0x1b70
mov byte [rcx + rdx], 1
mov rcx, r12
sub rsp, 0x20
call fcn.140024b60
add rsp, 0x20
mov r13, rax
xor eax, eax
mov ebx, dword [0x14006a9b0]
mov rdx, qword gs:[0x58]
mov rsi, qword [rdx + rbx*8]
mov ecx, 0x1b70
mov byte [rsi + rcx], al
jmp 0x140025bed
cmp byte [r12 + 0xa0], al
jne 0x140025c14
mov ecx, dword [r12 + 0x148]
shl rcx, 0xc
sub rsp, 0x20
call fcn.140029f80
add rsp, 0x20
test al, al
je 0x140025c85
mov byte [r12 + 0xa0], 0
lea rcx, [r12 + 0xa8]
sub rsp, 0x20
call fcn.140026ab0
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
xor esi, esi
cmp qword [rbp - 0x40], rsi
je 0x140025c85
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.140027060
add rsp, 0x20
mov rcx, rdi
sub rsp, 0x20
call fcn.140033774
add rsp, 0x20
inc rsi
cmp rsi, qword [rbp - 0x40]
jb 0x140025c4a
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 0x140025d0a
mov rdx, qword [r9]
mov rsi, qword [rdx]
cmp byte [rsi + 0xb0], dil
jne 0x140025cd6
movzx r10d, r11b
mov r10d, r10d
lea r14, [rsi + r10*4]
mov r8d, dword [r14 + 0xc0]
cmp r8, qword [rsi + 0x98]
jb 0x140025d0a
inc rdi
cmp rdi, qword [r9 + 8]
jae 0x140025d0a
mov rcx, qword [r9]
mov rsi, qword [rcx + rdi*8]
cmp byte [rsi + 0xb0], 0
jne 0x140025cd6
movzx r8d, r11b
mov r8d, r8d
lea r10, [rsi + r8*4]
mov edx, dword [r10 + 0xc0]
cmp rdx, qword [rsi + 0x98]
jae 0x140025cd6
cmp rdi, qword [r9 + 8]
jae 0x140025d15
mov r14, rsi
jmp 0x140025d18
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 0x140025ca2
cmp qword [0x14006bf50], 0
jne 0x140025d7c
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.1400166a0
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 [0x14006bf50]
imul rbx, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x14006bf50]
add rbx, rax
add qword [0x14006c1c0], rbx
mov rcx, qword [rbp - 0x10]
sub rcx, qword [rbp - 0xe8]
mov rax, rcx
cqo
idiv qword [0x14006bf50]
imul rsi, rax, 0x989680
imul rax, rdx, 0x989680
cqo
idiv qword [0x14006bf50]
add rsi, rax
cmp rsi, qword [0x14006c1d8]
setg cl
and ecx, 1
cmp rsi, qword [0x14006c1d8]
setl dl
and edx, 1
sub ecx, edx
test ecx, ecx
jle 0x140025e23
mov qword [0x14006c1d8], rsi
inc qword [0x14006c1e0]
mov rcx, r12
sub rsp, 0x20
call fcn.140023b20
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