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

Disassembly:
mov byte [rsp + 0x20], r9b
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xf0
mov qword [rbp + 7], 0xfffffffffffffffe
mov qword [rsp + 0x138], rbx
mov r13, r8
mov rdi, rcx
xor r12d, r12d
mov rax, qword [rbp + 0x7f]
mov dword [rax], r12d
mov rax, qword [rbp + 0x77]
mov qword [rax], r12
mov eax, 1
mov r14d, eax
test edx, edx
cmovne r14d, edx
shr rdi, 0x1b
test rdi, rdi
cmove rdi, rax
mov qword [rbp + 0x4f], rdi
mov qword [rbp - 0x41], r12
mov r15d, r12d
mov qword [rsp + 0x58], r12
mov esi, r12d
mov dword [rsp + 0x60], esi
cmp r14d, eax
jbe 0x14002ffac
mov ebx, r14d
mov qword [rbp + 0x7f], rbx
mov eax, 0x28
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
add rax, 8
cmovb rax, rcx
mov rcx, rax
call fcn.1400c79c4
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14002fe7c
mov qword [rax], rbx
lea r15, [rax + 8]
lea rax, [0x14001f190]
mov qword [rsp + 0x20], rax
lea r9, [0x14000ef90]
mov r8d, ebx
lea edx, [r12 + 0x28]
mov rcx, r15
call fcn.1400c7840
jmp 0x14002fe7f
mov r15, r12
mov qword [rsp + 0x58], r15
test r14d, r14d
je 0x14002feac
lea rax, [r15 + 0x10]
nop dword [rax]
mov qword [rax - 8], r13
mov dword [rax], r12d
mov qword [rax + 0x10], rdi
mov dword [rax + 8], 0x100000
lea rax, [rax + 0x28]
sub rbx, 1
jne 0x14002fe90
mov qword [rbp - 0x69], 0x3e8
mov qword [rbp - 0x59], 0x989680
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x61], r12
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x7f]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcessTimes]
test eax, eax
je 0x14002ff1e
mov edx, dword [rbp + 0x83]
shl rdx, 0x20
mov eax, dword [rbp + 0x7f]
or rdx, rax
mov ecx, dword [rsp + 0x44]
shl rcx, 0x20
mov eax, dword [rsp + 0x40]
or rcx, rax
add rdx, rcx
mov r12, rdx
jmp 0x14002ff2d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
imul r12, rax, 0x2710
test r14d, r14d
je 0x14002ff7d
lea rcx, [rsi + rsi*4]
lea rcx, [r15 + rcx*8]
mov r8, rcx
lea rdx, [0x140030200]
call fcn.1400bf9e0
mov edi, eax
test eax, eax
jne 0x140030183
inc esi
cmp esi, r14d
jb 0x14002ff32
test esi, esi
je 0x14002ff7d
mov rbx, r15
mov edi, esi
mov rcx, qword [rbx]
call fcn.1400bf8a0
mov rcx, rbx
call fcn.1400bf850
add rbx, 0x28
sub rdi, 1
jne 0x14002ff63
xor esi, esi
mov dword [rsp + 0x60], esi
xor ecx, ecx
test r14d, r14d
je 0x140030025
lea rax, [r15 + 0x10]
mov edi, dword [rax]
test edi, edi
jne 0x140030183
inc ecx
add rax, 0x28
cmp ecx, r14d
jb 0x14002ff92
jmp 0x140030025
mov qword [rbp - 0x69], 0x3e8
mov qword [rbp - 0x59], 0x989680
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x61], r12
call fcn.140030730
mov qword [rsp + 0x40], rax
mov ebx, dword [0x14010c520]
mov r12, rdi
test rdi, rdi
je 0x14003001a
mov rdx, qword [r13]
mov rcx, r13
mov rax, qword [rdx + 0x10]
call qword [case.0x140046c11.0]
mov edi, eax
test eax, eax
jne 0x140030183
mov r8d, dword [0x14010c520]
mov edx, 0x100000
mov ecx, ebx
call fcn.140033280
mov ebx, eax
sub r12, 1
jne 0x14002ffe4
mov rax, qword [rbp + 0x7f]
add dword [rax], ebx
mov r12, qword [rsp + 0x40]
movaps xmm0, xmmword [rbp - 0x71]
movups xmmword [rbp - 0x31], xmm0
movaps xmm1, xmmword [rbp - 0x61]
movups xmmword [rbp - 0x21], xmm1
movaps xmm0, xmmword [rbp - 0x51]
movups xmmword [rbp - 0x11], xmm0
movsd xmm1, qword [rbp - 0x41]
movsd qword [rbp - 1], xmm1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub rbx, qword [rbp - 0x71]
mov qword [rbp - 0x31], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x7f]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetProcessTimes]
test eax, eax
je 0x1400300a6
mov edx, dword [rbp + 0x83]
shl rdx, 0x20
mov eax, dword [rbp + 0x7f]
or rdx, rax
mov ecx, dword [rsp + 0x44]
shl rcx, 0x20
mov eax, dword [rsp + 0x40]
or rcx, rax
add rdx, rcx
jmp 0x1400300b5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, eax
imul rdx, rax, 0x2710
sub rdx, r12
mov qword [rbp - 0x21], rdx
mov qword [rbp - 0x11], 0
mov qword [rbp - 9], 0
mov edx, 1
mov qword [rbp - 1], rdx
test r13, r13
je 0x140030181
mov r8d, r14d
mov eax, r14d
imul rax, qword [rbp + 0x4f]
mov rcx, qword [rbp - 0x29]
cmp rcx, 0xf4240
jbe 0x14003010f
nop word [rax + rax]
shr rcx, 1
shr rbx, 1
cmp rcx, 0xf4240
ja 0x140030100
test rbx, rbx
cmove rbx, rdx
imul rax, rcx
shl rax, 0x1b
xor edx, edx
div rbx
mov r9, rax
xor edx, edx
div r8
mov rcx, qword [rbp + 0x77]
mov qword [rcx], rax
movzx edx, byte [rbp + 0x67]
test dl, dl
je 0x140030147
mov rcx, qword [rbp + 0x6f]
test rcx, rcx
cmovne rax, rcx
jmp 0x140030149
xor eax, eax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], dl
xor r8d, r8d
lea rdx, [rbp - 0x31]
mov rcx, r13
call fcn.140031f30
mov rax, qword [r13]
mov rcx, r13
mov rax, qword [rax + 0x10]
call qword [case.0x140046c11.0]
mov edi, eax
test eax, eax
jne 0x140030183
xor edi, edi
test esi, esi
je 0x1400301aa
mov rbx, r15
nop word [rax + rax]
mov rcx, qword [rbx]
call fcn.1400bf8a0
mov rcx, rbx
call fcn.1400bf850
add rbx, 0x28
sub rsi, 1
jne 0x140030190
test r15, r15
je 0x1400301e1
lea r9, [0x14001f190]
mov r8, qword [r15 - 8]
mov edx, 0x28
mov rcx, r15
call fcn.1400c78b0
mov rdx, qword [r15 - 8]
lea rdx, [rdx + rdx*4]
lea rdx, [rdx*8 + 8]
lea rcx, [r15 - 8]
call fcn.1400c79cc
nop
mov eax, edi
mov rbx, qword [rsp + 0x138]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret