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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
cmp byte [0x14013e48e], 0
movzx r12d, r9b
movzx r13d, r8w
movzx ebx, dl
mov r14, rcx
lea r15, [0x140000000]
je 0x140014b23
movzx eax, byte [0x14013e496]
cmp al, 0xa0
je 0x140014a7c
cmp al, 0x10
jne 0x140014b23
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x14013e490]
cmp eax, 0x16
jae 0x140014b23
mov eax, 0x100
test ax, r13w
je 0x140014aa0
xor al, al
jmp 0x140014abf
cmp bl, 0xc
je 0x140014abd
cmp bl, 0x20
jbe 0x140014ab9
cmp bl, 0x28
jbe 0x140014abd
cmp bl, 0x2c
jbe 0x140014ab9
cmp bl, 0x2e
jbe 0x140014abd
xor al, al
jmp 0x140014abf
mov al, 1
cmp byte [0x14013e48f], 0
jne 0x140014ae6
xor eax, eax
nop word [rax + rax]
cmp byte [rax + r15 + 0x13e478], 0
jne 0x140014aef
inc rax
cmp rax, 0x16
jl 0x140014ad0
jmp 0x140014b23
test r12b, r12b
je 0x140014af8
test al, al
je 0x140014b23
mov byte [0x14013e497], 1
jmp 0x140014afc
test al, al
je 0x140014b23
movzx eax, byte [0x14013e477]
mov byte [0x14013f6f3], al
movzx eax, byte [0x14013e476]
mov byte [0x14013f750], al
movzx eax, byte [0x14013e475]
mov byte [0x14013f7e0], al
movzx eax, byte [0x14013f6f3]
movzx ebp, bl
mov byte [0x14013e477], al
movzx eax, byte [0x14013f750]
lea rcx, [rbp + rbp*2]
mov byte [0x14013e476], al
movzx eax, byte [0x14013f7e0]
mov byte [0x14013e475], al
mov rax, qword [0x140140500]
movzx edi, byte [rax + rcx*8 + 0xc]
test dil, dil
je 0x140014cb9
mov ecx, dword [r14 + 8]
mov eax, 0xffc3d44f
movzx r8d, r12b
cmp qword [r14 + 0x10], rax
movzx edx, bl
mov qword [rsp + 0x50], rsi
setne sil
call fcn.140014d40
test r12b, r12b
je 0x140014c51
cmp byte [rsp + 0x70], 0
jne 0x140014bb0
movzx ecx, dil
not cl
and byte [0x14013f65f], cl
test sil, sil
je 0x140014bb0
and byte [0x14013f6f2], cl
test al, al
je case.default.0x140014c99
movzx eax, bl
not dil
mov byte [r15 + rbp + 0x13f740], 0
and byte [0x14013f6f3], dil
add eax, 0xffffff60
cmp eax, 5
ja case.default.0x140014c99
cdqe
mov ecx, dword [r15 + rax*4 + 0x14d08]
add rcx, r15
jmp rcx
movzx eax, byte [0x14013f7e1]
mov byte [0x14013f750], al
jmp case.default.0x140014c99
movzx eax, byte [0x14013f7e0]
mov byte [0x14013f750], al
jmp case.default.0x140014c99
movzx eax, byte [0x14013f7e3]
mov byte [0x14013f751], al
jmp case.default.0x140014c99
movzx eax, byte [0x14013f7e2]
mov byte [0x14013f751], al
jmp case.default.0x140014c99
movzx eax, byte [0x14013f7e5]
mov byte [0x14013f752], al
jmp case.default.0x140014c99
movzx eax, byte [0x14013f7e4]
mov byte [0x14013f752], al
jmp case.default.0x140014c99
cmp byte [rsp + 0x70], 0
jne 0x140014c6b
or byte [0x14013f65f], dil
test sil, sil
je 0x140014c6b
or byte [0x14013f6f2], dil
test al, al
je case.default.0x140014c99
or byte [0x14013f6f3], dil
movzx eax, bl
mov byte [r15 + rbp + 0x13f740], 0x80
add eax, 0xffffff60
cmp eax, 5
ja case.default.0x140014c99
cdqe
mov ecx, dword [r15 + rax*4 + 0x14d20]
add rcx, r15
jmp rcx
mov byte [0x14013f750], 0x80
jmp case.default.0x140014c99
mov byte [0x14013f751], 0x80
jmp case.default.0x140014c99
mov byte [0x14013f752], 0x80
mov rsi, qword [rsp + 0x50]
mov ecx, dword [r14 + 8]
movzx r8d, r12b
movzx edx, bl
mov byte [0x14013e496], bl
mov word [0x14013e494], r13w
mov byte [0x14013e48f], r12b
call fcn.140014d40
mov byte [0x14013e48e], al
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov dword [0x14013e490], eax
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret