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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
lea rbp, [rax - 0x128]
sub rsp, 0x220
mov qword [rax - 0x10], rbx
mov qword [rax - 0x18], rsi
xor esi, esi
cmp dword [0x18007b9f0], esi
mov qword [rax - 0x20], rdi
mov qword [rax - 0x28], r12
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov rbx, rcx
mov r15d, esi
mov qword [rsp + 0x50], rsi
mov qword [rbp - 0x80], rsi
mov dword [rbp - 0x78], 1
mov r14d, esi
mov qword [rbp - 0x70], rsi
jne 0x18001eac9
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18007b9f0], eax
inc dword [0x18007b910]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [0x18007b9f0]
cmp ecx, 0x3e8
jbe 0x18001eafd
mov ecx, dword [0x18007b910]
mov dword [0x18007b9f0], eax
mov dword [0x18007b910], esi
mov dword [0x18007b914], ecx
call fcn.18001bbb0
cmp dword [0x18007b9f4], esi
mov edi, dword [0x18007b0e4]
mov dword [rbp + 0x140], edi
mov r12d, esi
mov dword [rsp + 0x58], esi
jl 0x18001f0b3
mov qword [rsp + 0x1f8], r13
mov esi, 0xff
nop
mov edx, edi
mov ecx, r12d
call fcn.18001ade0
mov r13, rax
mov qword [rbp - 0x40], rax
test rax, rax
je 0x18001f038
cmp qword [rsp + 0x50], 0
jne 0x18001eb6f
mov r9, qword [rbx]
lea r8, [rsp + 0x50]
lea rdx, [0x18003f150]
mov rcx, rbx
call qword [r9]
test eax, eax
js 0x18001f086
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea rcx, [rbp - 0x1f]
mov r8, rsi
xor edx, edx
mov byte [rbp - 0x20], 0
mov ebx, eax
call fcn.180008040
mov r8d, ebx
lea rcx, [rbp - 0x20]
test r12d, r12d
jne 0x18001eba3
lea rdx, [0x18007d100]
call fcn.180001a10
jmp 0x18001ebb2
lea rdx, [0x18007d000]
mov r9d, r12d
call fcn.180001a10
lea r8, [rbp - 0x20]
call fcn.180013870
mov rbx, rax
mov qword [rbp - 0x58], rax
test rax, rax
jne 0x18001ebd5
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18001f031
mov rcx, rax
call fcn.180013ac0
mov rsi, rax
test rax, rax
jne 0x18001ebf6
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
jmp 0x18001f026
mov rcx, qword [rbp - 0x80]
test rcx, rcx
jne 0x18001ec1f
mov rcx, qword [rsp + 0x50]
lea r8, [rbp - 0x80]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x130]
test eax, eax
js 0x18001f075
mov rcx, qword [rbp - 0x80]
xor eax, eax
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov rax, qword [rcx]
call qword [rax + 0x60]
mov eax, dword [rsp + 0x60]
mov rcx, rsi
add eax, 0xffffffeb
cmp eax, 2
ja 0x18001f078
call fcn.18001acf0
test eax, eax
je 0x18001f075
cmp eax, 0xb
jne 0x18001ec90
test r15, r15
je 0x18001ec7a
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
xor r15d, r15d
mov qword [rbp - 0x70], r15
test r14, r14
je 0x18001ec90
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
xor r10d, r10d
mov r14d, r10d
jmp 0x18001ec93
xor r10d, r10d
mov edx, dword [rsp + 0x78]
cmp edx, dword [rsi + 0x14]
jb 0x18001f075
mov r8d, dword [rsp + 0x7c]
cmp r8d, dword [rsi + 0x18]
jb 0x18001f075
test r14, r14
jne 0x18001ed40
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x40], r10
lea r9, [rbp - 0x60]
mov qword [rsp + 0x38], r9
mov r9d, dword [rsp + 0x60]
mov dword [rsp + 0x30], r10d
mov qword [rbp - 0x60], r10
mov rax, qword [rcx]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r10d
call qword [rax + 0xe0]
test eax, eax
js 0x18001f075
mov rcx, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x7c]
xor edx, edx
mov qword [rsp + 0x30], rdx
mov qword [rbp - 0x50], rdx
mov rax, qword [rcx]
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x78]
mov dword [rsp + 0x20], 2
call qword [rax + 0x120]
test eax, eax
js 0x18001f04f
mov r15, qword [rbp - 0x60]
mov r14, qword [rbp - 0x50]
mov qword [rbp - 0x70], r15
cmp dword [rbp - 0x78], 0
je 0x18001ed92
mov rcx, qword [rsp + 0x50]
xor edx, edx
mov r9, r15
mov rax, qword [rcx]
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rdx
mov rdx, qword [rbp - 0x80]
xor r8d, r8d
call qword [rax + 0x110]
test eax, eax
js 0x18001f075
mov rcx, qword [rsp + 0x50]
mov r8, r14
mov rdx, r15
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
test eax, eax
js 0x18001f075
xor eax, eax
mov dword [rbp - 0x78], eax
mov rax, qword [r14]
lea rdx, [rbp - 0x38]
mov r9d, 0x10
xor r8d, r8d
mov rcx, r14
call qword [rax + 0x68]
test eax, eax
js 0x18001f075
test edi, edi
je 0x18001edca
mov edx, 0xbb8
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x18001f009
xor eax, eax
lea rdx, [rsp + 0x60]
mov rcx, r14
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov rax, qword [r14]
call qword [rax + 0x60]
mov r12d, dword [rbp - 0x38]
mov r15d, dword [rsi + 0x14]
mov rbx, qword [rbp - 0x30]
mov dword [rbp + 0x148], r12d
shl r15d, 2
lea rdi, [rsi + 0x24]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8, qword [rbp + 0x138]
test r8, r8
je 0x18001ee59
mov ecx, dword [r8]
mov eax, dword [r8 + 8]
sub eax, ecx
cmp eax, dword [rsi + 0x14]
jl 0x18001ee59
mov edx, dword [r8 + 4]
mov eax, dword [r8 + 0xc]
sub eax, edx
cmp eax, dword [rsi + 0x18]
jl 0x18001ee59
cmp dword [rsp + 0x60], 0x17
lea eax, [rcx + rcx]
je 0x18001ee49
lea eax, [rcx*4]
imul edx, r12d
movsxd rcx, eax
add rbx, rcx
movsxd rax, edx
add rbx, rax
mov ecx, dword [rsi + 0x18]
mov r12d, dword [rsi + 0x14]
xor r8d, r8d
mov dword [rsi + 0x20], r8d
cmp dword [rsp + 0x60], 0x17
mov edx, 1
mov eax, r8d
cmove eax, edx
mov edx, dword [rbp + 0x140]
test edx, edx
mov dword [rsi + 0x20], eax
cmove eax, r8d
mov dword [rsi + 0x20], eax
test ecx, ecx
je 0x18001efd3
movsxd rax, r15d
mov qword [rbp - 0x48], rcx
mov r15d, ecx
mov qword [rbp - 0x68], rax
movsxd rax, dword [rbp + 0x148]
lea r13d, [r12*4]
mov rcx, qword [rbp - 0x68]
cmp dword [rsp + 0x60], 0x17
jne 0x18001ef9d
test edx, edx
jne 0x18001ef95
test r12d, r12d
je 0x18001efbc
mov r10, rdi
mov r11, rbx
mov r15, r12
mov r13d, 0xff
nop dword [rax]
movzx r9d, word [r11]
mov eax, 0x8421085
lea r10, [r10 + 4]
mov r8d, r9d
mov ecx, r9d
and r9d, 0x1f
shr ecx, 3
shr r8d, 8
shl r9d, 3
and ecx, 0xfc
and r8d, 0xf8
lea r11, [r11 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add r8d, eax
mov eax, 0x4104105
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
add ecx, eax
mov eax, 0x8421085
mul r9d
mov eax, r9d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add r9d, eax
cmp r8d, r13d
cmova r8d, r13d
cmp ecx, r13d
cmova ecx, r13d
cmp r9d, r13d
movzx eax, r8b
cmova r9d, r13d
movzx ecx, cl
shl eax, 0x10
shl ecx, 8
or ecx, eax
movzx eax, r9b
or ecx, eax
mov dword [r10 - 4], ecx
dec r15
jne 0x18001eee0
mov r15, qword [rbp - 0x48]
lea r13d, [r12*4]
jmp 0x18001efab
mov r8d, r13d
shr r8, 1
jmp 0x18001efa0
mov r8d, r13d
mov rdx, rbx
mov rcx, rdi
call fcn.1800029a0
mov edx, dword [rbp + 0x140]
movsxd rax, dword [rbp + 0x148]
mov rcx, qword [rbp - 0x68]
add rbx, rax
add rdi, rcx
dec r15
mov qword [rbp - 0x48], r15
jne 0x18001eeb2
mov r13, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [rbp + 0x140]
mov eax, 1
mov dword [rsi + 0x1c], eax
mov rcx, r13
test edi, edi
je 0x18001eff6
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x18001effc
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov r12d, dword [rsp + 0x58]
mov r15, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x58]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x70]
mov rcx, rsi
call fcn.180013a10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 0xff
mov rbx, qword [rbp + 0x130]
inc r12d
cmp r12d, dword [0x18007b9f4]
mov dword [rsp + 0x58], r12d
jle 0x18001eb30
jmp 0x18001f08f
mov rcx, rsi
call fcn.180013a10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x18001f08f
mov rcx, rsi
call fcn.180013a10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r13, qword [rsp + 0x1f8]
test r15, r15
je 0x18001f0a5
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
test r14, r14
je 0x18001f0b3
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x80]
mov r15, qword [rsp + 0x1e8]
mov r14, qword [rsp + 0x1f0]
mov r12, qword [rsp + 0x200]
mov rdi, qword [rsp + 0x208]
mov rsi, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x218]
test rcx, rcx
je 0x18001f0f2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x18001f102
mov rax, qword [rcx]
call qword [rax + 0x10]
add rsp, 0x220
pop rbp
ret