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

Disassembly:
push rbp
push rsi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov rax, qword [0x14029e8b8]
xor rax, rsp
mov qword [rbp + 7], rax
mov r12, r9
mov r14, r8
mov r15, rdx
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov dword [rsi + 0x7c], eax
mov eax, dword [rsi + 0x78]
cmp edx, eax
jl 0x140146c70
mov r8d, dword [rsi + 0x70]
mov qword [rsp + 0xf8], rbx
xor ebx, ebx
mov qword [rsp + 0xf0], rdi
lea ecx, [r8 + rax]
cmp edx, ecx
jl 0x140146cae
add eax, r8d
lea rcx, [rsi + 8]
add eax, dword [rsi + 0x74]
cmp edx, eax
jge 0x140146c8c
mov edi, dword [rsi + 0x80]
mov qword [rsp + 0xe8], r13
call fcn.14009ffd0
mov ecx, eax
lea eax, [rdi + 1]
cdq
idiv ecx
mov rcx, rsi
mov ebx, edx
mov edx, edi
call fcn.140146d90
mov edx, ebx
mov rcx, rsi
mov r13, rax
call fcn.140146d90
mov r14, rax
test r13, r13
je 0x140146c58
test rax, rax
je 0x140146c58
mov ecx, dword [rsi + 0x7c]
sub ecx, dword [rsi + 0x70]
sub ecx, dword [rsi + 0x78]
movd xmm0, dword [rsi + 0x74]
mov ebx, dword [rsi + 0x68]
cvtdq2pd xmm0, xmm0
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
divsd xmm1, xmm0
movsd xmm0, qword [0x14024ae68]
subsd xmm1, xmm0
mulsd xmm1, xmm1
subsd xmm0, xmm1
call fcn.1401cdc58
mov eax, dword [rsi + 0x58]
mov r8d, dword [rsi + 0x5c]
mov dword [rbp - 0x19], eax
movd xmm1, ebx
lea edx, [rax + rbx]
mov dword [rbp - 0x15], r8d
mov eax, dword [rsi + 0x64]
mov ecx, edx
cvtdq2pd xmm1, xmm1
mov dword [rbp - 0xd], eax
mov dword [rbp - 0x3d], eax
xor eax, eax
mov dword [rbp - 0x45], r8d
lea r8, [rbp - 0x69]
mov dword [rbp - 0x41], edx
mov qword [rbp - 0x39], rax
lea edx, [rax + 0x20]
mov qword [rbp - 0x31], rax
mulsd xmm0, xmm1
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], rax
cvttsd2si edi, xmm0
sub ecx, edi
mov dword [rbp - 0x11], ecx
mov dword [rbp - 0x49], ecx
mov rcx, r13
call qword [sym.imp.GDI32.dll_GetObjectW]
mov ecx, dword [rsi + 0x58]
lea r8, [rbp - 0x69]
mov eax, dword [rbp - 0x65]
add ecx, edi
xor ebx, ebx
mov dword [rbp - 0x29], ecx
mov dword [rbp - 0x21], eax
mov rcx, r14
mov eax, dword [rbp - 0x61]
mov dword [rbp - 0x25], ebx
lea edx, [rbx + 0x20]
mov dword [rbp - 0x1d], eax
call qword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [rsi + 0x58]
lea r8, [rbp - 0x19]
mov dword [rsp + 0x58], ebx
mov r9, r12
mov byte [rsp + 0x50], bl
mov rdx, r13
mov byte [rsp + 0x48], bl
mov rcx, r15
mov dword [rbp - 9], eax
mov eax, dword [rbp - 0x61]
mov byte [rsp + 0x40], bl
mov dword [rbp + 3], eax
lea rax, [rbp - 0x39]
mov byte [rsp + 0x38], 0xff
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x29]
mov qword [rsp + 0x20], rax
mov dword [rbp - 5], ebx
mov dword [rbp - 1], edi
call fcn.1400f9bd0
mov dword [rsp + 0x58], ebx
mov byte [rsp + 0x50], bl
mov byte [rsp + 0x48], bl
mov byte [rsp + 0x40], bl
mov byte [rsp + 0x38], 0xff
lea rax, [rbp - 0x39]
mov byte [rsp + 0x30], 1
lea r8, [rbp - 0x49]
mov qword [rsp + 0x28], rax
mov r9, r12
lea rax, [rbp - 9]
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1400f9bd0
mov r13, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140160a40
add rsp, 0x100
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret
inc dword [rsi + 0x80]
call fcn.14009ffd0
cmp dword [rsi + 0x80], eax
jl 0x140146ca5
mov dword [rsi + 0x80], ebx
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsi + 0x78], eax
mov edx, dword [rsi + 0x80]
xor eax, eax
mov rcx, rsi
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x51], rax
call fcn.140146d90
mov rdi, rax
test rax, rax
je 0x140146c60
lea r8, [rbp - 0x69]
mov edx, 0x20
mov rcx, rax
call qword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x140146c60
mov eax, dword [rbp - 0x65]
mov r9, r12
mov dword [rsp + 0x58], ebx
mov r8, r14
mov dword [rbp - 0x41], eax
mov rdx, rdi
mov eax, dword [rbp - 0x61]
mov rcx, r15
mov dword [rbp - 0x3d], eax
xor eax, eax
mov byte [rsp + 0x50], al
mov byte [rsp + 0x48], al
mov byte [rsp + 0x40], al
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x31], rax
lea rax, [rbp - 0x39]
mov byte [rsp + 0x38], 0xff
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x49], rbx
call fcn.1400f9bd0
jmp 0x140146c60