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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov r12d, dword [rbp + 0x60]
mov rsi, r9
imul eax, r12d, 0x2ec
mov r13, rdx
mov edi, r12d
mov dword [rbp - 0x20], eax
cmp r12d, eax
ja 0x18003e0dd
mov r14d, dword [rbp + 0x60]
mov r15d, dword [rbp + 0x60]
xor ebx, ebx
cmp edi, 0x267
ja 0x18003e1c0
je 0x18003e1ba
cmp edi, 3
je 0x18003e118
cmp edi, 0x26
je 0x18003e0f9
cmp edi, 0x44
je 0x18003e0cc
cmp edi, 0xcf
je 0x18003e0c4
cmp edi, 0x19b
jne 0x18003e228
mov rcx, qword [rsi + 0x28]
call qword [rsi + 0x20]
test al, al
je 0x18003e0aa
mov ebx, 0x11f
mov eax, ebx
sub eax, 0x11f
je 0x18003e097
sub eax, 1
je 0x18003e088
sub eax, 1
je 0x18003e06d
cmp eax, 1
jne 0x18003e0a0
call qword [rsi + 0x50]
jmp 0x18003e0a0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, r15d
mul ecx
mov r14d, edx
shr r14d, 6
jmp 0x18003e0a0
mov edx, 0xcc
mov rcx, rsi
call fcn.18003e300
jmp 0x18003e0a0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r15d, eax
inc ebx
cmp ebx, 0x123
jb 0x18003e050
mov r9, qword [0x1800703d8]
xor r8d, r8d
xor ecx, ecx
lea edx, [r8 + 0x7f]
call fcn.18002c8e0
jmp 0x18003e228
mov r14d, ebx
jmp 0x18003e228
cmp byte [rsi + 0x118], 0
je 0x18003e228
mov byte [rbp - 0x18], 0
mov rax, qword [rbp - 0x18]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [r13]
cmp eax, 0xc
ja 0x18003e23c
cmp eax, 5
jae 0x18003e228
mov rax, 0xffffffffffffffff
jmp 0x18003e0e1
mov r9, qword [0x1800703d8]
xor edx, edx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
lea r8d, [rdx + 0xc]
call fcn.180027240
test al, al
je 0x18003e248
mov rdx, qword [0x1800703d8]
lea r8, [rbp + 0x60]
xor r9d, r9d
mov byte [rbp + 0x60], 1
mov ecx, 0x95
call fcn.180055700
mov r8, rsi
mov edx, 0x128
xor ecx, ecx
call fcn.18003c310
test al, al
jne 0x18003e228
mov ebx, 0xfd
mov eax, ebx
sub eax, 0xfd
je 0x18003e198
sub eax, 0xc
je 0x18003e18f
cmp eax, 0xc
je 0x18003e0dd
jmp 0x18003e1ad
mov dword [rbp - 0x18], 0
jmp 0x18003e1ad
mov r9, qword [0x1800703d8]
xor r8d, r8d
xor ecx, ecx
lea edx, [r8 + 0x7f]
call fcn.18002c8e0
add ebx, 0xc
cmp ebx, 0x121
jb 0x18003e176
jmp 0x18003e228
mov dword [rbp - 0x18], r14d
jmp 0x18003e228
cmp edi, 0x333
je 0x18003e0dd
cmp edi, 0xa3e
je 0x18003e250
cmp edi, 0x1254
je 0x18003e1fe
cmp edi, 0x2464
je 0x18003e1f2
cmp edi, 0x3674
je 0x18003e0dd
jmp 0x18003e228
movzx eax, byte [rsi + 0x118]
mov byte [rbp - 0x18], al
jmp 0x18003e228
mov rax, qword [rsi + 0x100]
lea r8, [rsi + 0x78]
mov r9, qword [rsi]
xor edx, edx
mov dword [rsp + 0x28], 0xc4
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180035ac0
mov byte [rsi + 0x118], al
imul eax, r12d, 0x44
add edi, eax
cmp edi, dword [rbp - 0x20]
ja 0x18003e0dd
jmp 0x18003dff9
mov rax, 0xffffffffffffffef
jmp 0x18003e0e1
mov dword [rbp - 0x18], ebx
jmp 0x18003e0dd
mov eax, dword [r13]
lea r8, [rbp + 0x60]
mov rbx, qword [rbp + 0x50]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], eax
mov edx, 0x8d
mov eax, dword [rbx]
mov dword [rbp + 0x60], eax
call fcn.18001e9c0
mov edx, dword [r13]
mov r9d, 0xe0
mov rcx, qword [rbp + 0x40]
mov r8d, dword [rbx]
mov dword [rbp + 0x60], edx
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rcx]
cmp rcx, rax
mov qword [rbp - 0x10], rcx
lea rax, [rbp + 0x60]
mov qword [rsp + 0x30], rax
jae 0x18003e2ca
lea rax, [rbp - 0x20]
mov dword [rbp - 0x18], r8d
mov qword [rsp + 0x28], rax
lea r8, [rbp - 0x10]
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x20], rsi
mov dword [rbp - 0x20], 0
call fcn.1800289f0
jmp 0x18003e0e1
lea rax, [rbp - 0x18]
mov dword [rbp - 0x20], r8d
mov qword [rsp + 0x28], rax
lea r8, [rbp - 0x10]
lea rcx, [rbp - 0x20]
mov qword [rsp + 0x20], rsi
mov dword [rbp - 0x18], 1
call fcn.1800289f0
jmp 0x18003e0e1