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

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov r14d, edx
mov edi, ecx
mov ebx, 1
test ecx, ecx
cmove edi, ebx
lea rax, [0x00433168]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 0
mov ecx, edi
mov ebp, edx
mov r13d, edx
imul r13, rcx
mov qword [rsp + 0x30], r13
xor edx, edx
mov rax, r13
div rcx
cmp rax, r14
je 0x41fcf8
xor ecx, ecx
call fcn.0042d5d0
mov eax, 0x8007000e
jmp 0x41ff3c
xor ecx, ecx
call fcn.0042d5d0
mov rcx, r13
call fcn.0042d5b0
mov r12, rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r13
test rax, rax
setne cl
test cl, cl
jne 0x41fd28
mov ebx, 0x8007000e
jmp 0x41ff32
mov dword [rsp + 0xd8], 0x159a55e5
mov dword [rsp + 0xdc], 0x1f123bb5
mov ecx, r14d
shr ecx, 2
add ecx, ebx
xor edx, edx
mov eax, 0x40000000
div ecx
lea r15d, [rbx + rax]
xor esi, esi
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x50], rsi
cmp edi, ebx
jbe 0x41fe9c
mov ecx, edi
shl ecx, 5
add rcx, 8
call fcn.0040bcb8
mov qword [rsp + 0x40], rax
test rax, rax
je 0x41fda7
mov dword [rax], edi
lea rbp, [rax + 8]
lea rax, [0x0041e4ac]
mov qword [rsp + 0x20], rax
lea r9, [0x0041dd98]
mov r8d, edi
lea edx, [rsi + 0x20]
mov rcx, rbp
call fcn.0042dca0
jmp 0x41fda9
xor ebp, ebp
mov qword [rsp + 0x50], rbp
test edi, edi
je 0x41fdfb
lea rbx, [rbp + 0x14]
mov r13, r12
mov esi, edi
mov qword [rbx - 0xc], r13
mov dword [rbx], r15d
mov dword [rbx - 4], r14d
lea r8, [rsp + 0xd8]
mov edx, r14d
mov rcx, r13
call fcn.0041e454
mov dword [rbx + 4], eax
add r13, r14
add rbx, 0x20
dec rsi
jne 0x41fdbb
mov esi, dword [rsp + 0x48]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x30]
mov ebx, 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
test edi, edi
je 0x41fe45
mov ecx, esi
shl rcx, 5
add rcx, rbp
mov r8, rcx
lea rdx, [0x0041e3c0]
call fcn.0042d7a0
mov ebx, eax
test eax, eax
jne 0x41fe35
lea ebx, [rax + 1]
add esi, ebx
mov dword [rsp + 0x48], esi
cmp esi, edi
jb 0x41fe08
jmp 0x41fe45
lea rcx, [rsp + 0x48]
call fcn.0041fc18
nop
jmp 0x41ff32
test esi, esi
je 0x41fe68
mov rbx, rbp
mov rcx, qword [rbx]
call fcn.0042d790
mov rcx, rbx
call fcn.0042d740
add rbx, 0x20
dec rsi
jne 0x41fe4c
lea ebx, [rsi + 1]
mov dword [rsp + 0x48], 0
xor eax, eax
test edi, edi
je 0x41feeb
add rbp, 0x1c
cmp byte [rbp], 0
je 0x41fe8c
add eax, ebx
add rbp, 0x20
cmp eax, edi
jb 0x41fe7a
jmp 0x41feeb
lea rcx, [rsp + 0x48]
call fcn.0041fc18
nop
jmp 0x41ff32
lea r8, [rsp + 0xd8]
mov edx, r14d
mov rcx, r12
call fcn.0041e454
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
xor ebx, ebx
test r15d, r15d
je 0x41feeb
mov rdx, rbp
mov rcx, r12
call fcn.0042d860
cmp eax, edi
jne 0x41fed9
inc ebx
cmp ebx, r15d
jb 0x41fec1
jmp 0x41feeb
lea rcx, [rsp + 0x48]
call fcn.0041fc18
nop
mov ebx, 1
jmp 0x41ff32
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r11d, eax
sub r11, r14
mov ecx, 1
cmove r11, rcx
mov eax, r15d
imul rax, r13
test r11, r11
cmove r11, rcx
imul rax, rax, 0x3e8
xor edx, edx
div r11
mov rcx, qword [rsp + 0xd0]
mov qword [rcx], rax
lea rcx, [rsp + 0x48]
call fcn.0041fc18
nop
xor ebx, ebx
mov rcx, r12
call fcn.0042d5d0
mov eax, ebx
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret