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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r14
push r15
sub rsp, 0x60
mov rdi, rcx
lea r14, [0x1801491d8]
mov rcx, qword [0x1801491d8]
cmp rcx, r14
je 0x1800360df
test byte [rcx + 0x1c], 0x10
je 0x1800360df
cmp byte [rcx + 0x19], 4
jb 0x1800360df
mov edx, 0xd4
lea r8, [0x180123218]
mov rcx, qword [rcx + 0x10]
call fcn.18001f9f0
xor r15d, r15d
mov edx, 2
xor ecx, ecx
call qword [0x180148208]
test eax, eax
jns 0x180036120
mov rcx, qword [0x1801491d8]
cmp rcx, r14
je 0x180036120
test byte [rcx + 0x1c], 0x10
je 0x180036120
cmp byte [rcx + 0x19], 2
jb 0x180036120
mov edx, 0xd5
lea r8, [0x180123218]
mov rcx, qword [rcx + 0x10]
call fcn.18001f9f0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lfence
nop dword [rax]
mov dword [rsp + 0x20], 0x1cff
mov r9d, 0xffffffff
xor r8d, r8d
lea rdx, [rdi + 0x2d8]
mov ecx, 5
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov ebx, eax
cmp eax, 5
jne 0x1800361ac
mov ebx, 0x64
nop
cmp ebx, 0xffffffff
je 0x18003616d
mov eax, ebx
dec ebx
test eax, eax
je 0x1800361a4
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x1800361a4
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x30]
call qword [0x180148228]
jmp 0x180036160
call qword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x180036130
movzx eax, byte [rdi + 0x120]
nop
test al, al
je 0x180036204
call qword [0x180148210]
mov rcx, qword [0x1801491d8]
cmp rcx, r14
je 0x1800361eb
test byte [rcx + 0x1c], 0x10
je 0x1800361eb
cmp byte [rcx + 0x19], 4
jb 0x1800361eb
mov edx, 0xd9
lea r8, [0x180123218]
mov rcx, qword [rcx + 0x10]
call fcn.18001f9f0
mov eax, r15d
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
cmp ebx, 4
ja 0x1800362d8
mov rcx, qword [0x1801491d8]
cmp rcx, r14
je 0x18003623f
test byte [rcx + 0x1c], 0x10
je 0x18003623f
cmp byte [rcx + 0x19], 5
jb 0x18003623f
movzx r9d, bl
mov edx, 0xd7
lea r8, [0x180123218]
mov rcx, qword [rcx + 0x10]
call fcn.18001fa80
nop
test ebx, ebx
je 0x1800362ab
sub ebx, 1
je 0x180036296
sub ebx, 1
je 0x180036281
sub ebx, 1
je 0x18003626c
cmp ebx, 1
jne 0x1800362b7
lfence
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x48]
call qword [case.0x18001b453.0]
jmp 0x1800362b7
lfence
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x40]
call qword [case.0x18001b453.0]
jmp 0x1800362b7
lfence
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [case.0x18001b453.0]
jmp 0x1800362b7
lfence
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x38]
call qword [case.0x18001b453.0]
jmp 0x1800362b7
lfence
mov rcx, rdi
call fcn.18002eb30
nop
jmp 0x180036120
mov rax, qword [0x1801491d8]
cmp rax, r14
je 0x180036120
test byte [rax + 0x1c], 0x10
je 0x180036120
cmp byte [rax + 0x19], 2
jb 0x180036120
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0xd6
mov dword [rsp + 0x20], eax
mov r9d, ebx
lea r8, [0x180123218]
mov rcx, qword [0x1801491d8]
mov rcx, qword [rcx + 0x10]
call fcn.180021290
jmp 0x180036120
mov rcx, qword [rcx + 8]
jmp 0x180036090