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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
lea rdi, [rcx + 0x60]
mov r13, rcx
mov rcx, rdi
mov r12, rdx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor r15d, r15d
mov dword [rbp - 0x40], r15d
mov ecx, r15d
mov qword [rbp - 0x48], rcx
mov eax, r15d
mov dword [rbp - 0x3c], eax
mov esi, r15d
lea r14, [r15 - 1]
test r12, r12
je 0x1400c7c2e
cmp word [r12], ax
je 0x1400c7c2e
mov rbx, r14
nop word [rax + rax]
inc rbx
cmp word [r12 + rbx*2], ax
jne 0x1400c7be0
inc ebx
test ebx, ebx
jle 0x1400c7c01
mov edx, ebx
lea rcx, [rbp - 0x48]
call fcn.140019a30
mov eax, dword [rbp - 0x3c]
mov esi, dword [rbp - 0x40]
mov edx, esi
add esi, ebx
mov dword [rbp - 0x40], esi
cmp esi, eax
jle 0x1400c7c18
lea rcx, [rbp - 0x48]
call fcn.1400197d0
mov esi, dword [rbp - 0x40]
mov rcx, qword [rbp - 0x48]
mov rdx, r12
movsxd r8, ebx
add r8, r8
call fcn.140038f30
mov rcx, qword [rbp - 0x48]
mov eax, dword [r13 + 8]
lea rdx, [0x140280be0]
cmp eax, dword [r13 + 0x34]
je 0x1400c7ce2
test esi, esi
je 0x1400c7c4c
lea eax, [rsi - 1]
jmp 0x1400c7c52
mov rcx, rdx
mov eax, r15d
mov rbx, qword [r13 + 0x40]
lea rsi, [r13 + 0x38]
mov rdx, rcx
mov ecx, eax
call fcn.140023d50
movsxd rcx, eax
movsxd rax, dword [r13 + 0x48]
dec rax
and rcx, rax
test rbx, rbx
cmovne rsi, rbx
mov ebx, dword [rsi + rcx*4]
cmp ebx, r14d
je 0x1400c7ce2
mov rax, qword [r13]
mov ecx, dword [rbp - 0x40]
nop word [rax + rax]
movsxd rdx, ebx
mov rsi, rdx
shl rsi, 5
lea r8, [rsi + rax]
mov eax, dword [rsi + rax + 8]
cmp eax, ecx
je 0x1400c7cad
add eax, ecx
cmp eax, 1
jmp 0x1400c7cca
cmp eax, 1
jle 0x1400c7e49
mov rdx, qword [rbp - 0x48]
mov rcx, qword [r8]
call fcn.140041dc0
mov ecx, dword [rbp - 0x40]
test eax, eax
movsxd rdx, ebx
sete al
test al, al
jne 0x1400c7e49
mov rax, qword [r13]
mov ebx, dword [rsi + rax + 0x18]
cmp ebx, r14d
jne 0x1400c7c90
mov rbx, r15
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x1400c7cf6
mov rcx, rax
call fcn.1400556b0
test rbx, rbx
je 0x1400c7da6
cmp byte [rbp + 0x70], r15b
jne 0x1400c7fc8
mov rcx, rbx
call fcn.1400c4b50
test al, al
je 0x1400c7e69
mov qword [rbp - 0x38], r15
mov edx, r15d
mov dword [rbp - 0x30], edx
mov ecx, r15d
mov dword [rbp - 0x2c], ecx
mov rsi, r15
test r12, r12
je 0x1400c7d8d
cmp word [r12], cx
je 0x1400c7d8d
mov rbx, r14
nop dword [rax + rax]
inc rbx
cmp word [r12 + rbx*2], cx
jne 0x1400c7d40
inc ebx
test ebx, ebx
jle 0x1400c7d65
mov edx, ebx
lea rcx, [rbp - 0x38]
call fcn.140019a30
mov ecx, dword [rbp - 0x2c]
mov edx, dword [rbp - 0x30]
mov rsi, qword [rbp - 0x38]
lea eax, [rdx + rbx]
mov dword [rbp - 0x30], eax
cmp eax, ecx
jle 0x1400c7d7c
lea rcx, [rbp - 0x38]
call fcn.1400197d0
mov rsi, qword [rbp - 0x38]
movsxd r8, ebx
mov rdx, r12
add r8, r8
mov rcx, rsi
call fcn.140038f30
lea rdx, [rbp - 0x38]
mov rcx, r13
call fcn.1400c7480
test rsi, rsi
je 0x1400c7da6
mov rcx, rsi
call fcn.1400556b0
mov ecx, 0x1068
call fcn.14001c7e0
mov rbx, rax
test rax, rax
je 0x1400c7fcf
mov rcx, qword [rbp + 0x58]
lea rax, [0x14029b6a8]
lea rdx, [rbx + 8]
mov qword [rbx], rax
sub rdx, rcx
mov qword [rbx + 0x808], r15
mov qword [rbx + 0x810], r15
mov qword [rbx + 0x1038], r15
mov qword [rbx + 0x1040], r15
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx + rcx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1400c7df0
movzx eax, byte [rbp + 0x70]
lea rcx, [rbx + 0x808]
mov rdx, qword [rbp + 0x60]
mov byte [rbx + 0x1048], al
call fcn.1400beb80
mov rdx, qword [rbp + 0x68]
test rdx, rdx
je 0x1400c7e2f
lea rcx, [rbx + 0x1038]
call fcn.14001ad20
mov dword [rbx + 0x1050], r15d
mov qword [rbx + 0x1058], r15
mov qword [rbx + 0x1060], r15
jmp 0x1400c7fd2
cmp ebx, r14d
je 0x1400c7ce2
shl rdx, 5
add rdx, qword [r13]
je 0x1400c7ce2
mov rbx, qword [rdx + 0x10]
jmp 0x1400c7ce5
mov rax, qword [rbp + 0x68]
lea rcx, [0x140280be0]
cmp dword [rax + 8], r15d
je 0x1400c7e83
mov rax, qword [rax]
mov qword [rbp + 0x48], rax
jmp 0x1400c7e87
mov qword [rbp + 0x48], rcx
mov esi, r15d
cmp dword [r13 + 0x58], r15d
jle 0x1400c7ef0
mov rbx, r15
mov rax, qword [r13 + 0x50]
cmp dword [rbx + rax + 8], r15d
je 0x1400c7ea4
mov rdx, qword [rbx + rax]
jmp 0x1400c7ea7
mov rdx, rcx
mov rcx, r12
call fcn.140041dc0
test eax, eax
jne 0x1400c7edd
mov rax, qword [r13 + 0x50]
cmp dword [rbx + rax + 0x18], r15d
je 0x1400c7ec5
mov rdx, qword [rbx + rax + 0x10]
jmp 0x1400c7ecc
lea rdx, [0x140280be0]
mov rcx, qword [rbp + 0x48]
call fcn.140041dc0
test eax, eax
je 0x1400c7fc8
inc esi
lea rcx, [0x140280be0]
add rbx, 0x20
cmp esi, dword [r13 + 0x58]
jl 0x1400c7e93
mov qword [rbp - 0x38], r15
mov ecx, r15d
mov dword [rbp - 0x2c], ecx
mov dword [rbp - 0x30], r15d
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], r15
test r12, r12
je 0x1400c7f6d
cmp word [r12], cx
je 0x1400c7f3a
inc r14
cmp word [r12 + r14*2], cx
jne 0x1400c7f12
add r14d, 1
mov ebx, r14d
je 0x1400c7f40
mov edx, r14d
lea rcx, [rbp - 0x38]
call fcn.140019a30
mov ecx, dword [rbp - 0x2c]
mov r15d, dword [rbp - 0x30]
jmp 0x1400c7f40
mov ebx, r15d
mov r14d, r15d
lea eax, [r15 + r14]
mov dword [rbp - 0x30], eax
cmp eax, ecx
jle 0x1400c7f57
mov edx, r15d
lea rcx, [rbp - 0x38]
call fcn.1400197d0
test ebx, ebx
je 0x1400c7f6d
mov rcx, qword [rbp - 0x38]
mov rdx, r12
movsxd r8, ebx
add r8, r8
call fcn.140260aa0
mov rdx, qword [rbp + 0x68]
lea rcx, [rbp - 0x28]
call fcn.14001ad20
movsxd rbx, dword [r13 + 0x58]
lea eax, [rbx + 1]
mov dword [r13 + 0x58], eax
cmp eax, dword [r13 + 0x5c]
jle 0x1400c7f96
mov edx, ebx
lea rcx, [r13 + 0x50]
call fcn.140027ab0
mov rax, qword [rbp - 0x38]
mov rcx, rbx
shl rcx, 5
add rcx, qword [r13 + 0x50]
mov qword [rcx], rax
mov eax, dword [rbp - 0x30]
mov dword [rcx + 8], eax
mov eax, dword [rbp - 0x2c]
mov dword [rcx + 0xc], eax
mov rax, qword [rbp - 0x28]
mov qword [rcx + 0x10], rax
mov eax, dword [rbp - 0x20]
mov dword [rcx + 0x18], eax
mov eax, dword [rbp - 0x1c]
mov dword [rcx + 0x1c], eax
xor bl, bl
jmp 0x1400c8135
mov rbx, r15
mov qword [rbp + 0x48], rbx
mov edx, r15d
mov dword [rbp - 0x10], edx
mov ecx, r15d
mov dword [rbp - 0xc], ecx
mov qword [rbp - 0x18], r15
test r12, r12
je 0x1400c803c
cmp word [r12], cx
je 0x1400c803c
inc r14
cmp word [r12 + r14*2], cx
jne 0x1400c7ff2
inc r14d
test r14d, r14d
jle 0x1400c8016
mov edx, r14d
lea rcx, [rbp - 0x18]
call fcn.140019a30
mov ecx, dword [rbp - 0xc]
mov edx, dword [rbp - 0x10]
lea eax, [r14 + rdx]
mov dword [rbp - 0x10], eax
cmp eax, ecx
jle 0x1400c802a
lea rcx, [rbp - 0x18]
call fcn.1400197d0
mov rcx, qword [rbp - 0x18]
mov rdx, r12
movsxd r8, r14d
add r8, r8
call fcn.140038f30
lea r8, [rbp + 0x48]
mov rcx, r13
lea rdx, [rbp - 0x18]
call fcn.1400bd8f0
mov rcx, qword [rbp - 0x18]
mov rsi, rax
test rcx, rcx
je 0x1400c805d
call fcn.1400556b0
mov rbx, qword [0x1403caef8]
lea rcx, [rbp - 0x48]
mov rsi, qword [rsi]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
sfence
lock inc dword [rsi + 0x1050]
mov rcx, qword [rsi + 0x1058]
mov qword [rsi + 0x1060], rbx
test rbx, rbx
je 0x1400c80ca
test rcx, rcx
jne 0x1400c80a4
mov cl, 1
call fcn.140035840
mov qword [rsi + 0x1058], rax
mov rcx, rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x140041db8.0]
mov rcx, qword [rsi + 0x1060]
mov rdx, rsi
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140041db8.0]
jmp 0x1400c80de
call fcn.14003d350
mov rcx, rsi
mov qword [rsi + 0x1058], r15
call fcn.1400c0150
cmp qword [0x1403ebb08], r15
je 0x1400c8133
lea rcx, [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [0x1403ebb08]
mov rsi, qword [rbp + 0x50]
mov rbx, qword [rbp - 0x48]
sub rsi, rbx
cmp rsi, qword [rax + 0x40]
jbe 0x1400c8133
xor ecx, ecx
call fcn.1400cd940
mov rcx, qword [0x1403ebb08]
lea rdx, str.FAsyncTask::Start
mov r8d, eax
mov r9, rbx
mov byte [rsp + 0x28], r15b
mov qword [rsp + 0x20], rsi
call fcn.1400cac50
mov bl, 1
test rdi, rdi
je 0x1400c8143
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
movzx eax, bl
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret