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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea ebx, [rcx + 0xa]
mov r14, r8
mov dword [rsp + 0x40], ebx
cmp ecx, ebx
mov ebx, dword [rsp + 0xa0]
mov r13d, ecx
jae case.0x18004baa3.7
mov esi, dword [rsp + 0xa0]
lea r12d, [rcx - 0x1e]
mov r15d, dword [rsp + 0xa0]
lea r8, [0x180000000]
mov eax, dword [rsp + 0x40]
xor ebp, ebp
mov r10d, 0xffdf
mov edi, 0x22
cmp r12d, 0x1e
ja case.default.0x18004baa3
movzx eax, byte [r8 + r12 + 0x4bd60]
mov ecx, dword [r8 + rax*4 + 0x4bd38]
add rcx, r8
jmp rcx
movzx eax, word [r14 + 0x14]
cmp dword [r9], ebp
je 0x18004babd
or ax, 0x20
mov word [r14 + 0x14], ax
jmp case.0x18004baa3.9
and ax, r10w
mov word [r14 + 0x14], ax
jmp case.0x18004baa3.9
mov eax, dword [r9]
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0x50]
mov eax, dword [r14]
mov r8d, 0xd
mov dword [rsp + 0x50], eax
call fcn.18001be50
xor r9d, r9d
mov word [rsp + 0x30], di
lea r8, [rsp + 0x30]
mov edx, 0x129
xor ecx, ecx
call fcn.1800a9bd0
jmp 0x18004bca1
mov r8, qword [0x1800d74d8]
xor edx, edx
mov ecx, 0x98
call fcn.180052160
mov ebx, esi
jmp 0x18004bca1
mov rcx, qword [0x1800d74d8]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbp
mov edx, 0x9c
call fcn.180049840
test al, al
jne 0x18004bb7e
mov eax, 6
nop dword [rax + rax]
cmp eax, 6
je 0x18004bb74
cmp eax, 0xf
jne 0x18004bb76
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ebx, ebp
add eax, 9
cmp eax, 0x18
jb 0x18004bb50
mov r8, qword [0x1800d74d8]
lea rdx, [rsp + 0xa0]
mov ecx, 0x19
mov byte [rsp + 0xa0], 1
call fcn.18004bd80
jmp 0x18004bca1
mov rcx, qword [r14 + 0x28]
call qword [r14 + 0x20]
test al, al
je 0x18004bca1
mov edi, 0xbc
nop dword [rax]
cmp edi, 0xbc
je 0x18004bc18
cmp edi, 0x3b7c
je 0x18004bbf4
cmp edi, 0x763c
je 0x18004bbe6
cmp edi, 0xb0fc
jne 0x18004bc21
call qword [r14 + 0x50]
jmp 0x18004bc21
mov eax, 0x10624dd3
mul esi
mov esi, edx
shr esi, 6
jmp 0x18004bc21
mov r9d, 0xba
mov qword [rsp + 0x20], r14
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800a76b0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
sub esi, r15d
jmp 0x18004bc21
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r15d, eax
add edi, 0x3ac0
cmp edi, 0xeb00
jbe 0x18004bbc0
jmp 0x18004bca1
xor r8d, r8d
mov edx, 0x87
mov rcx, r14
call fcn.180047730
test al, al
jne 0x18004bc86
mov edi, 0x33
nop word [rax + rax]
cmp edi, 0x33
je 0x18004bc63
cmp edi, 0x2178
je case.0x18004baa3.7
jmp 0x18004bc78
mov r8, qword [0x1800d74d8]
xor edx, edx
mov ecx, 0x98
call fcn.180052160
mov ebx, ebp
add edi, 0x2145
cmp edi, 0x428a
jbe 0x18004bc50
mov esi, ebp
jmp 0x18004bca1
movzx eax, word [rdx]
lea r8, [rsp + 0x38]
xor edx, edx
mov word [rsp + 0x38], ax
lea ecx, [rdx + 0x1f]
call fcn.180054530
mov rdx, qword [rsp + 0xa8]
lea r8, [0x180000000]
mov r9, qword [rsp + 0xb8]
mov r10d, 0xffdf
mov eax, dword [rsp + 0x40]
inc r13d
inc r12d
cmp r13d, eax
jae case.0x18004baa3.7
jmp 0x18004ba80
mov edx, dword [r14 + 0x1c]
xor edx, dword [r9 + 0x1c]
mov eax, dword [r14 + 0x18]
xor eax, dword [r9 + 0x18]
mov ecx, dword [r14 + 8]
or edx, eax
xor ecx, dword [r9 + 8]
mov eax, dword [r14 + 0x14]
xor eax, dword [r9 + 0x14]
or edx, eax
mov eax, dword [r14 + 0x10]
xor eax, dword [r9 + 0x10]
or edx, eax
mov eax, dword [r14 + 0xc]
xor eax, dword [r9 + 0xc]
or edx, eax
or edx, ecx
mov ecx, dword [r14 + 4]
xor ecx, dword [r9 + 4]
or edx, ecx
mov ecx, dword [r14]
xor ecx, dword [r9]
or edx, ecx
sete bpl
mov eax, ebp
jmp 0x18004bb5c