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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rax - 0x58], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rbx, rdx
mov r14, rdx
shr r14, 0x20
mov dword [rax + 0x20], edx
mov dword [rax + 0x24], r14d
xor r15d, r15d
mov rsi, qword [0x180278790]
test rsi, rsi
jne 0x180065a18
mov ecx, 0x260
call fcn.1800b543c
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x180065a0e
mov rcx, rax
call fcn.180001a60
mov dword [rsi + 0x258], r15d
jmp 0x180065a11
mov rsi, r15
mov qword [0x180278790], rsi
lea rcx, [rsi + 0x228]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [rsi + 0x220]
mov rax, qword [rsi + 0x228]
sub rax, qword [rcx]
imul rax, rax, 0x3e8
cqo
idiv qword [rsi + 0x250]
mov rdi, qword [rsp + 0x98]
cmp rax, 0x3e8
jle 0x180065a73
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, rdi
call fcn.18001a470
mov dword [rsi + 4], eax
mov eax, dword [0x180278bf8]
mov dword [rsi + 0x1e8], eax
mov ebp, dword [rsi + 4]
mov rsi, qword [0x180278790]
test rsi, rsi
jne 0x180065ab7
mov ecx, 0x260
call fcn.1800b543c
mov rsi, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x180065aad
mov rcx, rax
call fcn.180001a60
mov dword [rsi + 0x258], r15d
jmp 0x180065ab0
mov rsi, r15
mov qword [0x180278790], rsi
mov r13d, dword [rsi + 8]
mov rcx, rsi
call fcn.180004450
mov r12d, eax
mov r15, qword [0x180278790]
test r15, r15
jne 0x180065b0b
mov ecx, 0x260
call fcn.1800b543c
mov r15, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x180065b01
mov rcx, rax
call fcn.180001a60
mov dword [r15 + 0x258], 0
jmp 0x180065b04
xor r15d, r15d
mov qword [0x180278790], r15
lea rcx, [r15 + 0x248]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [r15 + 0x240]
mov rax, qword [r15 + 0x248]
sub rax, qword [rcx]
imul rax, rax, 0x3e8
cqo
idiv qword [r15 + 0x250]
cmp rax, 0x3e8
jle 0x180065b60
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, rdi
call fcn.18001a120
mov dword [r15 + 0x10], eax
mov eax, dword [0x180278bf8]
mov dword [r15 + 0x1e8], eax
mov edi, dword [r15 + 0x10]
mov rsi, qword [0x180278790]
test rsi, rsi
jne 0x180065ba7
mov ecx, 0x260
call fcn.1800b543c
mov rsi, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x180065b9e
mov rcx, rax
call fcn.180001a60
mov dword [rsi + 0x258], 0
jmp 0x180065ba0
xor esi, esi
mov qword [0x180278790], rsi
mov r15, qword [rsp + 0x80]
mov eax, dword [r15 + 0x1c0]
mov dword [rsp + 0x28], eax
mov eax, dword [r15 + 0x1c4]
mov dword [rsp + 0x2c], eax
mov eax, dword [r15 + 0x1c8]
mov dword [rsp + 0x30], eax
mov eax, dword [r15 + 0x1cc]
mov dword [rsp + 0x34], eax
mov r8d, dword [r15 + 0x54]
mov rax, qword [rsp + 0x30]
shr rax, 0x20
mov rcx, qword [rsp + 0x28]
shr rcx, 0x20
sub ecx, eax
add ecx, ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, r8d
cmp dword [rsi + 0x1e8], 1
jg 0x180065c3c
cmp ebx, ebp
jl 0x180065c22
sub r12d, dword [r15 + 0x50]
lea eax, [r12 + rbp]
mov ebp, ebx
cmp ebx, eax
cmovg ebp, eax
cmp r14d, r13d
jl 0x180065c5f
mov eax, edi
sub eax, edx
add eax, r13d
cmp r14d, eax
jle 0x180065c76
sub edi, r8d
lea r14d, [rdi + r13]
jmp 0x180065c76
cmp ebx, ebp
jge 0x180065c4d
test ebx, ebx
js 0x180065c5a
sub r12d, dword [r15 + 0x50]
add ebp, r12d
jmp 0x180065c5a
sub r12d, dword [r15 + 0x50]
mov ebp, ebx
cmp ebx, r12d
cmovg ebp, r12d
cmp r14d, r13d
jge 0x180065c67
sub edi, edx
lea r14d, [rdi + r13]
jmp 0x180065c76
mov eax, edi
sub eax, edx
cmp r14d, eax
jle 0x180065c76
sub edi, r8d
mov r14d, edi
mov rcx, qword [r15 + 0x140]
mov rax, qword [rcx]
mov r8d, ebp
mov edx, 0x91
call qword [rax + 0x58]
mov rcx, qword [r15 + 0x140]
mov rax, qword [rcx]
mov r8d, r14d
mov edx, 0x92
call qword [rax + 0x58]
mov dword [r15 + 0x2c], ebp
mov dword [r15 + 0x30], r14d
mov rax, qword [rsp + 0x90]
mov dword [rax], ebp
mov dword [rax + 4], r14d
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret