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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
xor esi, esi
mov ebx, r9d
mov r14d, edx
mov rdi, rcx
lea r12d, [rsi + 1]
test rcx, rcx
je 0x14009b1a5
mov eax, dword [rcx + 0x1c10]
test eax, eax
jg 0x14009b177
mov eax, dword [rcx + 0x1bfc]
cmp eax, r12d
jle 0x14009b5cf
mov eax, dword [rcx + 0x1c14]
test eax, eax
jg 0x14009b190
mov eax, dword [rcx + 0x1c00]
cmp eax, r12d
jle 0x14009b5cf
cmp dword [rcx + 0x1b50], esi
setne r13b
jmp 0x14009b1a8
mov r13b, sil
mov rcx, qword [rcx + 0x58]
lea rdx, [rbp + 0x30]
mov r9d, dword [rbp + 0x50]
mov r8d, ebx
mov byte [rsp + 0x20], sil
mov rcx, qword [rcx]
call fcn.14010b920
mov eax, dword [rdi + 0x1c10]
test eax, eax
jg 0x14009b1d4
mov eax, dword [rdi + 0x1bfc]
movzx ecx, word [rbp + 0x30]
test cx, cx
jns 0x14009b1e3
mov word [rbp + 0x30], si
jmp 0x14009b1f2
sub ax, r12w
cmp cx, ax
cmovg cx, ax
mov word [rbp + 0x30], cx
mov eax, dword [rdi + 0x1c14]
test eax, eax
jg 0x14009b202
mov eax, dword [rdi + 0x1c00]
movzx ecx, word [rbp + 0x32]
test cx, cx
jns 0x14009b211
mov word [rbp + 0x32], si
jmp 0x14009b220
sub ax, r12w
cmp cx, ax
cmovg cx, ax
mov word [rbp + 0x32], cx
mov r8d, dword [rbp + 0x30]
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.14009d230
lea eax, [r14 - 0x201]
cmp eax, r12d
ja 0x14009b24b
mov rcx, rdi
call fcn.14009edc4
test al, al
mov al, r12b
jne 0x14009b24e
mov al, sil
mov r15d, 0x300
cmp r14d, 0x201
jne 0x14009b261
test al, al
je 0x14009b28b
cmp r14d, 0x203
jne 0x14009b3fc
mov ebx, dword [rdi + 0x1b50]
mov edx, ebx
and edx, r15d
setne cl
bt ebx, 0xa
setb al
test al, cl
je 0x14009b396
mov r12d, 0x400
mov r14b, sil
test dword [rdi + 0x1b50], r12d
je 0x14009b2c0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, dword [rdi + 0x1b64]
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
cmp ebx, eax
ja 0x14009b2c0
mov r12d, 1
mov sil, r12b
jmp 0x14009b2c6
mov r12d, 1
mov ebx, dword [rdi + 0x1b50]
test r15d, ebx
je 0x14009b2d9
shr ebx, 9
and bl, r12b
jmp 0x14009b313
mov rcx, qword [0x14022a9e0]
mov dl, r12b
call fcn.1400266e8
test eax, eax
je 0x14009b5cf
mov rcx, qword [0x14022ab50]
xor r8d, r8d
shr eax, 9
and al, r12b
movzx edx, al
mov bl, dl
add edx, 0x7d7
call fcn.14007523c
mov r14d, eax
xor r9d, r9d
movzx eax, r14b
shl eax, 0x18
mov byte [rdi + 0x1b53], r9b
or dword [rdi + 0x1b50], eax
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0xc], eax
test sil, sil
je 0x14009b34a
movzx eax, word [rdi + 0x1b98]
movzx edx, r9w
sub ax, r12w
mov word [rbp - 0xc], ax
jmp 0x14009b34e
movzx edx, word [rbp - 0x10]
mov dword [rsp + 0x38], r9d
lea rcx, [rbp - 0xc]
movzx r9d, word [rbp - 0xe]
mov al, sil
neg al
sbb r8, r8
and r8, rcx
movzx ecx, sil
mov qword [rsp + 0x30], r8
movzx r8d, dx
mov dl, bl
lea ecx, [rcx*2 + 0x201]
mov dword [rsp + 0x28], ecx
mov rcx, rdi
mov byte [rsp + 0x20], r12b
call fcn.14009e0f8
mov al, r12b
jmp 0x14009b5d1
test edx, edx
je 0x14009b5cf
mov eax, dword [rbp - 0x10]
lea r8, [rbp - 0xc]
mov r9d, r12d
mov dword [rbp - 0x10], eax
lea rdx, [rbp - 0x10]
mov dword [rbp - 0xc], eax
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.140096a64
movzx r9d, word [rbp - 0xe]
lea rax, [rbp - 0xc]
movzx r8d, word [rbp - 0x10]
mov rcx, rdi
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rax
shr ebx, 9
and bl, r12b
mov dword [rsp + 0x28], 0x203
mov dl, bl
mov byte [rsp + 0x20], r12b
call fcn.14009e0f8
and dword [rdi + 0x1b50], 0xfffffff7
jmp 0x14009b38e
lea rsi, [rdi + 0x1b50]
mov r12d, 0x400
cmp r14d, 0x200
jne 0x14009b417
test byte [rsi], 8
jne 0x14009b481
cmp r14d, 0x202
jne 0x14009b51c
mov ecx, dword [rsi]
and ecx, 4
jne 0x14009b433
test al, al
je 0x14009b5cf
test ecx, ecx
jne 0x14009b447
test al, al
je 0x14009b447
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0x1b60], eax
test byte [rsi], 4
je 0x14009b464
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, dword [rdi + 0x1b60]
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
cmp ebx, eax
jbe 0x14009b4ad
test dword [rsi], r12d
je 0x14009b481
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, dword [rdi + 0x1b64]
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
cmp ebx, eax
jbe 0x14009b4ad
mov eax, dword [rsi]
test r12d, eax
je 0x14009b490
btr eax, 0xa
mov dword [rsi], eax
jmp 0x14009b4a4
movzx r8d, word [rbp - 0xe]
mov r9b, r13b
movzx edx, word [rbp - 0x10]
mov rcx, rdi
call fcn.140096624
cmp r14d, 0x202
jne 0x14009b4f5
mov ecx, dword [rsi]
xor edx, edx
and ecx, 0xfffffff7
mov dword [rsi], ecx
mov rax, qword [0x14022ab50]
cmp byte [rax + 0x11018], dl
je 0x14009b4f5
test r12d, ecx
je 0x14009b4d2
mov esi, dword [rdi + 0x1b64]
jmp 0x14009b4d8
mov esi, dword [rdi + 0x1b60]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
sub ebx, esi
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
mov rcx, qword [rdi + 0x58]
cmp ebx, eax
jbe 0x14009b500
call fcn.1400a0c7c
mov r12d, 1
jmp 0x14009b38e
call fcn.1400b8d44
mov r12d, 1
mov dl, r12b
lea rcx, [rax + 0x18]
call fcn.1400ff154
jmp 0x14009b38e
mov eax, 0x205
cmp r14d, eax
je 0x14009b533
cmp r14d, 0x208
jne 0x14009b5cf
mov edx, dword [rdi + 0x1b50]
test r15d, edx
je 0x14009b5cf
cmp r14d, eax
mov rax, qword [0x14022ab50]
jne 0x14009b556
mov cl, byte [rax + 0x11028]
jmp 0x14009b55c
mov cl, byte [rax + 0x11029]
cmp cl, 3
jne 0x14009b59c
test dl, 8
jne 0x14009b583
xor esi, esi
cmp byte [rax + 0x1100a], sil
je 0x14009b5ae
mov r8d, dword [rbp + 0x50]
mov edx, ebx
mov rcx, rdi
call fcn.14009ee14
test al, al
je 0x14009b5ae
mov r12d, 1
mov rcx, rdi
mov r8b, r12b
mov dl, r12b
call fcn.140095008
jmp 0x14009b38e
mov r12d, 1
xor esi, esi
cmp cl, r12b
je 0x14009b5b4
mov dl, sil
jmp 0x14009b5b7
mov r12d, 1
mov dl, r12b
xor r9d, r9d
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rcx, rdi
call fcn.1400963f8
jmp 0x14009b38e
xor al, al
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret