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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x1400f3e08]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r9, qword [rcx + 0x48]
movzx ebp, r8b
mov r14d, edx
mov rbx, rcx
movzx eax, byte [r9 + 0xf0]
test al, 0x10
jne 0x14002f2b0
test al, 0x20
jne 0x14002f2a5
movzx r8d, byte [rcx + 0x58]
test r8b, 4
jne 0x14002f2a5
test bpl, bpl
jne 0x14002f038
cmp dword [r9], 4
sete dl
movzx eax, dl
or al, 2
movzx ecx, al
test r8b, 0x10
movzx eax, dl
cmove ecx, eax
movzx edx, cl
lea rcx, [r9 + 0x808]
lea rax, [rdx + rdx*2]
mov rsi, qword [rcx + rax*8 + 8]
lea rdi, [rcx + rax*8]
mov r15, qword [rdi]
mov eax, r14d
shr eax, 1
lea r8, [rdx + rsi*4]
test al, 1
je 0x14002ef54
cmp rsi, r15
jb 0x14002ef54
test byte [r9 + 0xf2], 0x10
je 0x14002ef40
test dl, 2
lea rcx, [r9 + 0xd58]
mov edx, 0x10000
mov eax, 0x20000
cmovne edx, eax
call fcn.140042460
mov edi, 0x80410008
mov rcx, rbx
mov edx, edi
call fcn.14002f560
jmp 0x14002f2c8
mov rdx, rbx
mov qword [rbx + 0x50], r8
call fcn.14003bad0
test al, al
jne 0x14002ef80
mov edi, 0x8007000e
mov qword [rbx + 0x50], 0xffffffffffffffff
mov edx, edi
mov rcx, rbx
call fcn.14002f560
jmp 0x14002f2c8
cmp rsi, r15
jb 0x14002f015
or byte [rbx + 0x62], 0x20
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
imul r9, rax, 0xf4240
mov rax, r9
div r8
mov rax, rdx
imul rdx, rcx, 0xf4240
shl rax, 0x20
add rax, rdx
xor edx, edx
div r8
xor edx, edx
mov rcx, rax
mov rax, r9
div r8
shl rax, 0x20
add rcx, rax
mov qword [rbx + 0x360], rcx
mov rcx, qword [rbx + 0x48]
test byte [rcx + 0xf2], 0x10
je 0x14002f015
test byte [rbx + 0x50], 2
mov edx, 0x10000
mov eax, 0x20000
cmovne edx, eax
add rcx, 0xd58
call fcn.140042460
inc word [rdi + 0x12]
mov eax, 1
inc qword [rdi + 8]
lock xadd qword [rbx + 0x10], rax
inc rax
cmp rax, 1
jg 0x14002f038
mov ecx, recv
int 0x29
mov eax, r14d
lea rcx, [rsp + 0x38]
shr eax, 3
xor esi, esi
shl al, 6
mov edi, esi
xor al, byte [rbx + 0x58]
and al, 0x40
xor al, byte [rbx + 0x58]
or al, 4
mov byte [rbx + 0x58], al
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r8, qword [0x1400f8b08]
xor edx, edx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
mov ecx, ecx
shr rax, 0x20
imul r9, rax, 0xf4240
mov rax, r9
div r8
mov rax, rdx
imul rdx, rcx, 0xf4240
shl rax, 0x20
add rax, rdx
xor edx, edx
div r8
xor edx, edx
mov r10, rax
mov rax, r9
mov r9, qword [rbx + 0x48]
div r8
mov rcx, qword [r9 + 0xf58]
shl rax, 0x20
add r10, rax
mov rdx, r10
sub rdx, rcx
test rcx, rcx
mov ecx, esi
cmove rdx, rsi
add rdx, qword [r9 + 0xf50]
mov qword [rbx + 0x388], rdx
mov rdx, r10
mov rax, qword [r9 + 0xf68]
sub rdx, rax
test rax, rax
cmovne rcx, rdx
mov rdx, r10
add rcx, qword [r9 + 0xf60]
mov qword [rbx + 0x390], rcx
mov ecx, esi
mov rax, qword [r9 + 0xf78]
sub rdx, rax
test rax, rax
cmovne rcx, rdx
mov rdx, r10
add rcx, qword [r9 + 0xf70]
mov qword [rbx + 0x398], rcx
mov ecx, esi
mov rax, qword [r9 + 0xf88]
sub rdx, rax
test rax, rax
cmovne rcx, rdx
add rcx, qword [r9 + 0xf80]
mov qword [rbx + 0x3a0], rcx
mov rax, qword [r9 + 0xf98]
mov rcx, qword [r9 + 0xf90]
sub r10, rax
test rax, rax
cmovne rsi, r10
add rcx, rsi
mov qword [rbx + 0x3a8], rcx
movzx eax, byte [0x1400f8b3c]
test al, 2
je 0x14002f1d4
test bpl, bpl
lea rdx, [0x1400cfe10]
mov r8, rbx
sete al
mov byte [rsp + 0x28], al
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0x20], rax
call fcn.14002e5d0
movzx eax, byte [0x1400f8b3c]
test al, 2
je 0x14002f1d4
mov rcx, rbx
call fcn.14002e660
mov r9d, eax
lea rdx, [0x1400d08e8]
mov r8, rbx
call fcn.1400139c0
movzx eax, byte [0x1400f8b3c]
test al, 2
je 0x14002f1d4
mov rcx, rbx
call fcn.14002e6b0
mov r9d, eax
lea rdx, [0x1400d0150]
mov r8, rbx
call fcn.1400139c0
test byte [rbx + 0x5b], 1
je 0x14002f1e7
mov edx, 0x80
mov rcx, rbx
call fcn.14002e700
cmp word [rbx + 0x60], 0
je 0x14002f204
mov rcx, qword [rbx + 0x48]
xor r8d, r8d
add rcx, 0xd58
mov rdx, rbx
call fcn.140042350
movzx eax, byte [rbx + 0x58]
movzx ecx, r14b
shl cl, 7
and al, 0x7f
or cl, al
mov byte [rbx + 0x58], cl
jge 0x14002f232
mov rcx, qword [rbx + 0x48]
xor r9d, r9d
add rcx, 0xd58
mov rdx, rbx
lea r8d, [r9 + 0x20]
call fcn.140042750
mov rcx, qword [rbx + 0x50]
mov rax, qword [rbx + 0x48]
test cl, 2
je 0x14002f248
mov rax, qword [rax + 0x690]
jmp 0x14002f273
and ecx, 1
cmp dword [rax], 4
jne 0x14002f25e
test rcx, rcx
je 0x14002f26c
mov rax, qword [rax + 0x688]
jmp 0x14002f273
test rcx, rcx
jne 0x14002f26c
mov rax, qword [rax + 0x688]
jmp 0x14002f273
mov rax, qword [rax + 0x680]
mov qword [rbx + 0xd0], rax
test rax, rax
jne 0x14002f28a
lea edx, [rax + 0x40]
mov rcx, rbx
call fcn.14002e700
mov rax, qword [rbx + 0xd0]
mov ecx, 0xffffffff
cmp rax, rcx
cmovb rcx, rax
mov dword [rbx + 0xd8], ecx
jmp 0x14002f2b5
test byte [rcx + 0x58], 4
mov edi, 0x80004004
je 0x14002f2b5
mov edi, 0x8007139f
test bpl, bpl
jne 0x14002f2dd
mov edx, edi
mov rcx, rbx
call fcn.14002f560
test edi, edi
jns 0x14002f2dd
test r14b, 4
je 0x14002f2dd
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0xe]
call fcn.14002f860
mov eax, edi
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.14007f5b0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret