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

Disassembly:
push rsi
push r14
push r15
sub rsp, 0x30
cmp dword [0x140122ab8], 0
jg 0x140004304
mov rcx, qword [0x14011c188]
mov eax, dword [0x140122abc]
cmp byte [rcx + 0xc1], 0
jne 0x140004025
test eax, eax
jne 0x140004304
cmp eax, dword [0x14011c184]
jge 0x140004304
cmp dword [0x14011c180], 0
je 0x140004304
cmp dword [0x140122aac], 0
jne 0x140004304
test eax, eax
je 0x140004097
cmp byte [rcx + 0x7f], 0
jne 0x140004097
cmp dword [rcx + 0x70], 0xffffffff
jle 0x14000408d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x14011c188]
sub eax, dword [rcx + 0x74]
cmp eax, dword [rcx + 0x70]
jb 0x14000408d
cmp dword [rcx + 0x6c], 0
je 0x14000408d
cmp byte [rcx + 0xc2], 0
mov byte [rcx + 0x7f], 1
jne 0x14000408d
mov dword [rcx + 0x88], 5
cmp byte [rcx + 0x7f], 0
je 0x140004304
mov rsi, qword [0x140124cc8]
xor r15d, r15d
mov r14d, r15d
test rsi, rsi
je 0x140004304
mov qword [rsp + 0x58], rbx
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], rdi
cmp byte [rsi + 0x16], r15b
je 0x1400040ee
cmp byte [rsi + 0x14], r15b
ja 0x1400040ee
mov eax, dword [rcx + 0x68]
cmp dword [rsi + 0x10], eax
jl 0x1400040ee
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov ebp, eax
sub ecx, dword [rsi + 0xc]
cmp ecx, dword [rsi + 8]
jae 0x140004123
mov rcx, qword [0x14011c188]
mov rbx, qword [rsi + 0x18]
mov rsi, rbx
test rbx, rbx
jne 0x1400040c1
mov rdi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
test r14d, r14d
je 0x140004304
call fcn.140004880
mov al, 1
add rsp, 0x30
pop r15
pop r14
pop rsi
ret
mov rdi, qword [0x14011c188]
test r14d, r14d
jne 0x140004149
inc dword [0x140122abc]
mov r14d, 1
add rdi, 0xc8
mov qword [0x14011c188], rdi
mov dword [rsi + 0xc], ebp
cmp byte [rsi + 0x17], r15b
je 0x1400041a6
mov byte [rsi + 0x16], r15b
add dword [0x140124cdc], 0xffffffff
jne 0x1400041a6
cmp dword [0x140122aec], r15d
jne 0x1400041a6
cmp dword [0x140122f44], r15d
jne 0x1400041a6
cmp byte [0x140122aa6], r15b
je 0x1400041a6
mov rcx, qword [0x140122af0]
mov edx, 9
call qword [sym.imp.USER32.dll_KillTimer]
movzx ecx, byte [0x140122aa6]
test eax, eax
mov rdi, qword [0x14011c188]
cmovne ecx, r15d
mov byte [0x140122aa6], cl
mov rax, qword [0x140122ab0]
mov dword [0x140124d58], ebp
mov edx, dword [rsi + 0x10]
lea rcx, [rax + 0x80]
test rax, rax
jne 0x1400041c5
mov rcx, r15
lea rax, [rdi + 0x80]
test rdi, rdi
jne 0x1400041d4
mov rax, r15
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [rcx + 0x40]
xorps xmm1, xmm1
movsd qword [rax + 0x40], xmm0
movups xmmword [rdi], xmm1
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi + 0x20], xmm1
movups xmmword [rdi + 0x30], xmm1
movups xmmword [rdi + 0x40], xmm1
movups xmmword [rdi + 0x50], xmm1
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x70], xmm1
movzx eax, byte [rdi + 0xc2]
mov byte [rdi + 0x7f], 1
mov dword [rdi + 0x68], edx
test al, al
jne 0x140004237
mov byte [rdi + 0xc2], r15b
cmp dword [0x140124d54], r15d
je 0x140004249
cmp dword [0x140124d50], r15d
jne 0x14000424d
test al, al
je 0x14000428a
mov dword [rdi + 0x88], 0x10
mov byte [rdi + 0x7f], r15b
test al, al
jne 0x14000428a
cmp dword [0x140124d54], r15d
jge 0x140004271
mov dword [rdi + 0x70], 0xffffffff
jmp 0x14000428a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x74], eax
mov eax, dword [0x140124d54]
mov dword [rdi + 0x70], eax
mov rdi, qword [0x14011c188]
mov qword [rdi + 0x30], rsi
lea rdx, str.Timer
inc byte [rsi + 0x14]
xor r9d, r9d
xor r8d, r8d
mov byte [rsp + 0x20], r15b
mov rcx, rsi
call 0x1400925a0
dec byte [rsi + 0x14]
mov rcx, rsi
cmp byte [rcx + 0x16], r15b
jne 0x1400042ef
cmp byte [rcx + 0x14], r15b
jne 0x1400042ef
cmp byte [rcx + 0x15], r15b
jne 0x1400042ef
mov rbx, qword [rcx + 0x18]
test rbx, rbx
je 0x1400042cf
inc byte [rbx + 0x15]
mov rdx, qword [rcx]
lea rcx, [0x1401245b0]
call fcn.14004d120
mov rcx, rbx
test rbx, rbx
je 0x1400040fa
dec byte [rbx + 0x15]
jmp 0x1400042b1
cmp rcx, rsi
jne 0x1400042f8
mov rbx, qword [rcx + 0x18]
mov rcx, qword [0x14011c188]
jmp 0x1400040f2
xor al, al
add rsp, 0x30
pop r15
pop r14
pop rsi
ret