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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
lea ebx, [rdx + 0x156]
mov rdi, r9
mov dword [rsp + 0x34], ebx
mov rsi, r8
mov r14d, edx
mov r15, rcx
cmp edx, ebx
jae case.0x1800bfd72.67
mov r13, qword [rsp + 0x90]
lea r10, [0x180000000]
mov ebp, dword [rsp + 0x78]
mov edx, 0xf9ff
mov r12d, dword [rsp + 0x78]
xor r9d, r9d
mov r8d, 0xefff
nop dword [rax]
cmp r14d, 0x13a
ja case.0x1800bfd72.75
je case.0x1800bfd72.67
lea eax, [r14 - 0x3a]
cmp eax, 0xee
ja case.0x1800bfd72.75
movzx eax, byte [r10 + rax + 0xc0220]
mov ecx, dword [r10 + rax*4 + 0xc01d8]
add rcx, r10
jmp rcx
cmp byte [0x80000b2], 0x96
jne 0x1800bfdc2
mov ecx, 0xbd
mov eax, ecx
sub eax, 0xbd
je 0x1800bfdb3
cmp eax, 1
jne 0x1800bfdb8
mov eax, dword [rsp + 0x30]
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov byte [rsp + 0x30], 0
inc ecx
cmp ecx, 0xbf
jb 0x1800bfd83
cmp word [0x8000000], dx
je case.0x1800bfd72.75
mov byte [rsp + 0x30], 0
jmp case.0x1800bfd72.67
mov rcx, qword [r15 + 0x28]
call qword [r15 + 0x20]
test al, al
je 0x1800bfe5f
mov ebx, 0x9b
nop dword [rax]
cmp ebx, 0x9b
je 0x1800bfe31
cmp ebx, 0x1059
je 0x1800bfe24
cmp ebx, 0x2017
je 0x1800bfe16
cmp ebx, 0x2fd5
jne 0x1800bfe4d
call qword [r15 + 0x50]
jmp 0x1800bfe4d
mov eax, 0x10624dd3
mul ebp
mov ebp, edx
shr ebp, 6
jmp 0x1800bfe4d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, eax
sub ebp, r12d
jmp 0x1800bfe4d
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r9d, 3
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov r12d, eax
call fcn.1800dc540
add ebx, 0xfbe
cmp ebx, 0x3ef8
jbe 0x1800bfdf0
mov ebx, dword [rsp + 0x34]
mov rcx, qword [0x180476398]
xor edx, edx
mov qword [rsp + 0x20], rdx
xor r9d, r9d
mov edx, 0x87
xor r8d, r8d
call fcn.18005d730
jmp 0x1800c018c
inc rdi
dec r13
jmp case.0x1800bfd72.75
mov r9d, 0x47
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800176e0
jmp 0x1800c018c
cmp word [0xa000002], 0
jne 0x1800bfdd0
mov byte [rsp + 0x30], 1
jmp case.0x1800bfd72.75
mov eax, 0x1b
cmp eax, 0x1b
je 0x1800c01b3
add eax, 0x50
cmp eax, 0x6b
jb 0x1800bfec2
xor r9d, r9d
xor edx, edx
mov rcx, r15
lea r8d, [r9 + 0x61]
call fcn.1800220b0
test al, al
jne 0x1800bff3a
mov ebx, 0x88
nop dword [rax]
cmp ebx, 0x88
je 0x1800bff06
cmp ebx, 0x1e48
je case.0x1800bfd72.67
jmp 0x1800bff28
mov rcx, qword [0x180476398]
xor ebp, ebp
xor r9d, r9d
mov qword [rsp + 0x20], rbp
xor r8d, r8d
mov edx, 0x87
call fcn.18005d730
mov dword [rsp + 0x30], ebp
add ebx, 0x1dc0
cmp ebx, 0x3b80
jbe 0x1800bfef0
mov ebx, dword [rsp + 0x34]
xor r9d, r9d
mov ebp, r9d
jmp 0x1800c018f
cmp dword [0x4004000], 0
je case.0x1800bfd72.75
mov eax, 0x38
cmp eax, 0x38
je 0x1800bff6a
cmp eax, 0xda
je case.0x1800bfd72.67
jmp 0x1800bff6f
mov byte [rsp + 0x30], 0
add eax, 0xa2
cmp eax, 0x17c
jb 0x1800bff58
jmp case.0x1800bfd72.75
mov r9, qword [0x180476398]
xor edx, edx
xor r8d, r8d
lea ecx, [rdx + 0x73]
call fcn.18009b130
test al, al
jne 0x1800bffbb
mov ecx, 0x57
xor edx, edx
nop
mov eax, ecx
sub eax, 0x56
je case.0x1800bfd72.67
cmp eax, 1
jne 0x1800bffb4
mov dword [rsp + 0x30], edx
dec ecx
cmp ecx, 0x55
ja 0x1800bffa0
mov rax, qword [0x180476398]
lea r8, [rsp + 0x78]
xor r9d, r9d
mov byte [rsp + 0x78], 1
xor ecx, ecx
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x4e]
call fcn.1800162f0
jmp 0x1800c018c
cmp dword [0x4004000], 0
jne 0x1800bfdd0
jmp case.0x1800bfd72.75
cmp rdi, r13
je case.0x1800bfd72.75
mov r8d, 0xc9
nop word [rax + rax]
mov eax, r8d
sub eax, 0xc7
je 0x1800c0106
sub eax, 1
je case.0x1800c0056.9
cmp eax, 1
jne 0x1800c010c
movzx edx, byte [rdi]
movzx eax, byte [rdx + r15 + 0x90]
add eax, 0xfffffff7
cmp eax, 0x1a
ja case.0x1800c0056.12
cdqe
movzx eax, byte [r10 + rax + 0xc0320]
mov ecx, dword [r10 + rax*4 + 0xc0310]
add rcx, r10
jmp rcx
cmp dl, 9
jne case.0x1800c0056.9
mov eax, 0xc3
cmp eax, 0xc3
je 0x1800c0084
cmp eax, 0x1f3b
je 0x1800c007d
cmp eax, 0x3db3
je case.0x1800bfd72.67
jmp 0x1800c0087
mov dword [rsp + 0x30], r9d
jmp 0x1800c0087
mov qword [rsi], rdi
add eax, 0x1e78
cmp eax, 0x5b68
jbe 0x1800c0062
mov r8d, 0xc8
jmp 0x1800c010c
test dl, dl
jns case.0x1800c0056.9
mov eax, 0x117
cmp eax, 0x117
je 0x1800c00b4
cmp eax, 0x1d6d
je case.0x1800c0056.9
jmp 0x1800c00f8
movzx eax, byte [rdi]
cmp al, 0x24
je 0x1800c00f3
cmp al, 0x40
je 0x1800c00f3
mov eax, 0x41
cmp eax, 0x41
je 0x1800c00e4
cmp eax, 0xeb
je 0x1800c00dd
cmp eax, 0x195
je case.0x1800bfd72.67
jmp 0x1800c00e7
mov dword [rsp + 0x30], r9d
jmp 0x1800c00e7
mov qword [rsi], rdi
add eax, 0xaa
cmp eax, 0x23f
jb 0x1800c00c4
mov eax, 0x117
add eax, 0x1c56
cmp eax, 0x38ac
jbe 0x1800c00a4
jmp 0x1800c010c
mov r14d, 0x77
dec r8d
cmp r8d, 0xc6
ja 0x1800c0010
inc rdi
cmp rdi, r13
jne 0x1800c0000
jmp 0x1800c0196
cmp byte [0x80000b2], 0x96
je 0x1800bfdd0
cmp word [0x8000000], r8w
je case.0x1800bfd72.75
mov ecx, 0xb0
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xaf
je case.0x1800bfd72.67
cmp eax, 1
jne 0x1800c0167
mov byte [rsp + 0x30], 0
dec ecx
cmp ecx, 0xae
ja 0x1800c0150
jmp case.0x1800bfd72.75
mov dword [rsp + 0x30], 1
jmp case.0x1800bfd72.75
xor r8d, r8d
mov edx, 0x11c
xor ecx, ecx
call fcn.1800c9150
xor r9d, r9d
lea r10, [0x180000000]
mov r8d, 0xefff
mov edx, 0xf9ff
add r14d, 0x12
cmp r14d, ebx
jb 0x1800bfd40
jmp case.0x1800bfd72.67
xor edx, edx
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 0x59]
call fcn.18004f870
mov byte [rsp + 0x30], al
jmp case.0x1800bfd72.67
mov eax, ebp
jmp 0x1800bfd95