Function at 0x1401595b0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rbx
push rbp
push r12
push r15
sub rsp, 0x28
cmp qword [rcx + 0x80], 0
mov r15, r9
mov rbp, r8
mov r12d, edx
mov rbx, rcx
jne 0x1401595de
xor al, al
add rsp, 0x28
pop r15
pop r12
pop rbp
pop rbx
ret
test edx, edx
je 0x1401595d1
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r13
xor r13d, r13d
mov esi, r13d
mov edi, r13d
call sub.KERNEL32.dll_GetTickCount
cmp eax, 0x1388
jb 0x14015964c
lea r9d, [rax - 0x1388]
lea rax, [rbx + 0x10]
lea r8d, [r13 + 5]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140159642
mov ecx, dword [rax]
test ecx, ecx
je 0x140159642
cmp ecx, r9d
jae 0x140159632
mov qword [rax + 8], r13
mov dword [rax], r13d
jmp 0x140159642
test edi, edi
jne 0x14015963a
mov edi, ecx
jmp 0x14015963f
cmp ecx, edi
cmovb edi, ecx
add rsi, rdx
add rax, 0x18
sub r8, 1
jne 0x140159615
call sub.KERNEL32.dll_GetTickCount
mov r10d, eax
cmp eax, edi
jae 0x140159687
mov qword [rbx + 0x18], r13
xor al, al
mov dword [rbx + 0x10], r13d
mov qword [rbx + 0x30], r13
mov dword [rbx + 0x28], r13d
mov qword [rbx + 0x48], r13
mov dword [rbx + 0x40], r13d
mov qword [rbx + 0x60], r13
mov dword [rbx + 0x58], r13d
mov qword [rbx + 0x78], r13
mov dword [rbx + 0x70], r13d
jmp 0x1401597d5
mov qword [rsp + 0x20], r14
lea rcx, [rbx + 0x10]
or r11d, 0xffffffff
mov r9d, r13d
mov r8, r13
nop word [rax + rax]
mov edx, dword [rcx]
test edx, edx
je 0x1401596c0
cmp r10d, edx
jae 0x1401596b4
mov dword [rcx], r13d
mov qword [rcx + 8], r13
jmp 0x1401596c0
mov eax, r10d
sub eax, edx
cmp eax, 0x3e8
jbe 0x1401596d2
inc r9d
inc r8
add rcx, 0x18
cmp r8, 5
jl 0x1401596a0
jmp 0x1401596da
mov r11d, r9d
test r9d, r9d
jns 0x14015973b
mov edx, r13d
lea rax, [rbx + 0x10]
mov rcx, r13
cmp dword [rax], r13d
je 0x1401596fa
inc edx
inc rcx
add rax, 0x18
cmp rcx, 5
jl 0x1401596e4
jmp 0x140159709
movsxd rax, edx
mov r11d, edx
lea rcx, [rax + rax*2]
mov dword [rbx + rcx*8 + 0x10], r10d
test r11d, r11d
jns 0x14015973b
mov qword [rbx + 0x18], r13
mov dword [rbx + 0x10], r13d
mov qword [rbx + 0x30], r13
mov dword [rbx + 0x28], r13d
mov qword [rbx + 0x48], r13
mov dword [rbx + 0x40], r13d
mov qword [rbx + 0x60], r13
mov dword [rbx + 0x58], r13d
mov qword [rbx + 0x78], r13
mov dword [rbx + 0x70], r13d
jmp 0x1401597ce
movsxd rax, r11d
sub r10d, edi
inc rax
mov r8d, r10d
lea rax, [rax + rax*2]
add qword [rbx + rax*8], r12
lea rax, [r12 + rsi]
imul rax, rax, 0x3e8
mov dword [rbx + 0x88], r11d
cqo
idiv qword [rbx + 0x80]
mov rbx, rax
cmp rax, r8
jle 0x1401597ce
sub rbx, r8
mov eax, 0x2710
cmp rbx, rax
cmovg rbx, rax
test rbp, rbp
je 0x1401597c7
mov esi, dword [rbp + 0xd0]
test esi, esi
je 0x1401597c7
cmp ebx, esi
jb 0x1401597c7
nop dword [rax]
nop dword [rax + rax]
cmp ebx, esi
mov edi, esi
cmovb edi, ebx
mov ecx, edi
call sub.KERNEL32.dll_Sleep
mov rdx, r15
mov rcx, rbp
call fcn.14008e0f0
test al, al
jne 0x1401597c3
sub ebx, edi
jne 0x1401597a0
jmp 0x1401597ce
mov al, 1
jmp 0x1401597d0
mov ecx, ebx
call sub.KERNEL32.dll_Sleep
xor al, al
mov r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x60]
add rsp, 0x28
pop r15
pop r12
pop rbp
pop rbx
ret