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

Disassembly:
push rbx
push rbp
push rdi
push r12
push r15
sub rsp, 0x20
mov r15d, dword [rsp + 0x78]
mov r12d, r9d
mov rdi, rdx
mov rbx, rcx
test r15d, r15d
jne 0x140010104
lea r8, [0x1400cef3c]
lea rdx, str.Invalid_usage.
lea rcx, [0x1401072b0]
add rsp, 0x20
pop r15
pop r12
pop rdi
pop rbp
pop rbx
jmp fcn.1400395f0
mov qword [rsp + 0x50], rsi
lea rbp, [0x1400cef3c]
mov qword [rsp + 0x58], r13
mov r13, qword [rsp + 0x70]
mov rsi, qword [r13]
mov ecx, dword [rsi + 0x10]
test ecx, ecx
je 0x140010152
sub ecx, 1
je 0x140010139
sub ecx, 1
je 0x140010139
sub ecx, 2
je 0x14001013e
cmp ecx, 1
je 0x140010152
mov rsi, rbp
jmp 0x140010155
mov rcx, qword [rsi]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001450
mov rsi, rax
jmp 0x140010155
mov rsi, qword [rsi]
mov qword [rsp + 0x60], r14
test r12b, 2
je 0x1400102c7
lea rdx, str.Start
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x14001019b
cmp dword [rbx + 0x10], 1
lea rcx, [rbx + 0x10]
je 0x1400107e0
mov rax, qword [rbx + 0x28]
xor edx, edx
mov dword [rbx + 0x30], edx
mov word [rax], dx
call fcn.14003fb60
jmp 0x1400107ec
lea rdx, str.Wait
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x14001024b
cmp r15d, 1
jle 0x1400101dc
mov rcx, qword [r13 + 8]
cmp dword [rcx + 0x10], 3
je 0x1400101dc
xor r8d, r8d
lea edx, [rax + 1]
call fcn.14005f2a0
mulsd xmm0, qword [0x1400edbe8]
cvttsd2si rsi, xmm0
jmp 0x1400101df
or esi, 0xffffffff
call qword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [rbx + 0x10], 1
mov r14d, eax
jne 0x140010212
nop
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, r14d
cmp eax, esi
jae 0x140010212
mov edx, 1
mov ecx, 0x8000012f
call fcn.1400016f0
cmp dword [rbx + 0x10], 1
je 0x1400101f0
xor edx, edx
mov dword [rdi + 0x10], edx
movsxd rax, dword [rbx + 0x10]
cmp eax, 6
ja case.0x14001038f.1
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x10808]
add rax, rcx
jmp rax
lea rdx, str.Match
mov eax, 1
mov qword [rdi], rdx
jmp 0x1400107ec
lea rdx, str.Stop
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x14001029b
cmp dword [rbx + 0x10], 1
lea r8, [rbx + 0x10]
jne 0x1400107e0
movzx eax, byte [0x140105b59]
xor edx, edx
mov rcx, qword [0x140104d70]
xor r9d, r9d
mov dword [r8], edx
mov edx, 0x41b
mov byte [r8 + 0x6c], al
call qword [sym.imp.USER32.dll_PostMessageW]
mov eax, 1
jmp 0x1400107ec
lea rdx, str.KeyOpt
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x1400107e7
lea r9d, [r15 - 1]
mov rcx, rbx
lea r8, [r13 + 8]
call fcn.140010840
jmp 0x1400107ec
mov r14d, r12d
and r14d, 1
lea eax, [r14 + 1]
cmp r15d, eax
je 0x1400102f2
mov r8, rbp
lea rdx, str.Invalid_usage.
lea rcx, [0x1401072b0]
call fcn.1400395f0
jmp 0x1400107ec
test r12b, 3
jne 0x140010563
lea rdx, str.Input
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010329
xor edx, edx
mov rcx, rdi
mov dword [rdi + 0x10], edx
movsxd r8, dword [rbx + 0x30]
mov rdx, qword [rbx + 0x28]
call fcn.14005f810
jmp 0x1400107ec
lea rdx, str.InProgress
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010359
xor edx, edx
mov dword [rdi + 0x10], 1
cmp dword [rbx + 0x10], 1
mov eax, 1
sete dl
mov qword [rdi], rdx
jmp 0x1400107ec
lea rdx, str.EndReason
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010405
xor edx, edx
mov dword [rdi + 0x10], edx
movsxd rax, dword [rbx + 0x10]
cmp eax, 6
ja case.0x14001038f.1
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x10824]
add rax, rcx
jmp rax
lea rdx, str.Timeout
mov eax, 1
mov qword [rdi], rdx
jmp 0x1400107ec
lea rdx, str.EndKey
mov eax, 1
mov qword [rdi], rdx
jmp 0x1400107ec
lea rdx, [0x1400e6d70]
mov eax, 1
mov qword [rdi], rdx
jmp 0x1400107ec
lea rdx, str.NewInput
mov eax, 1
mov qword [rdi], rdx
jmp 0x1400107ec
lea rdx, str.Stopped
mov eax, 1
mov qword [rdi], rdx
jmp 0x1400107ec
mov rdx, rbp
mov eax, 1
mov qword [rdi], rdx
jmp 0x1400107ec
lea rdx, str.EndKey
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010449
xor edx, edx
lea rcx, [rbx + 0x10]
mov dword [rdi + 0x10], edx
cmp dword [rcx], 4
jne 0x140010556
mov rdx, qword [rdi + 8]
xor r9d, r9d
mov r8d, 0x100
mov qword [rdi], rdx
call fcn.1400405b0
mov eax, 1
jmp 0x1400107ec
lea rdx, str.EndMods
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010518
mov rcx, qword [rdi + 8]
xor edx, edx
mov r8d, 1
mov dword [rdi + 0x10], edx
rol r8d, 0
mov qword [rdi], rcx
test byte [rbx + 0x7c], r8b
je 0x140010486
mov dword [rcx], 0x5e003c
add rcx, 4
rol r8d, 1
test byte [rbx + 0x7c], r8b
je 0x140010499
mov dword [rcx], 0x5e003e
add rcx, 4
rol r8d, 1
test byte [rbx + 0x7c], r8b
je 0x1400104ac
mov dword [rcx], 0x21003c
add rcx, 4
rol r8d, 1
test byte [rbx + 0x7c], r8b
je 0x1400104bf
mov dword [rcx], 0x21003e
add rcx, 4
rol r8d, 1
test byte [rbx + 0x7c], r8b
je 0x1400104d2
mov dword [rcx], 0x2b003c
add rcx, 4
rol r8d, 1
test byte [rbx + 0x7c], r8b
je 0x1400104e5
mov dword [rcx], 0x2b003e
add rcx, 4
rol r8d, 1
test byte [rbx + 0x7c], r8b
je 0x1400104f8
mov dword [rcx], 0x23003c
add rcx, 4
rol r8d, 1
test byte [rbx + 0x7c], r8b
je 0x14001050b
mov dword [rcx], 0x23003e
add rcx, 4
mov word [rcx], dx
mov eax, 1
jmp 0x1400107ec
lea rdx, str.Match
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010563
xor edx, edx
mov dword [rdi + 0x10], edx
cmp dword [rbx + 0x10], 3
jne 0x140010556
mov eax, dword [rbx + 0x80]
cmp eax, dword [rbx + 0x50]
jae 0x140010556
mov ecx, eax
mov rax, qword [rbx + 0x48]
mov rcx, qword [rax + rcx*8]
lea eax, [rdx + 1]
mov qword [rdi], rcx
jmp 0x1400107ec
mov qword [rdi], rbp
mov eax, 1
jmp 0x1400107ec
mov r8d, 2
lea rdx, [0x1400e25d4]
mov rcx, rsi
call fcn.1400aba40
test eax, eax
jne 0x140010673
add rsi, 4
lea rdx, [0x1400d12f8]
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x14001059e
mov esi, 0x388
jmp 0x1400105ee
lea rdx, str.KeyDown
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x1400105b8
mov esi, 0x390
jmp 0x1400105ee
lea rdx, str.KeyUp
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x1400105d2
mov esi, 0x3a0
jmp 0x1400105ee
lea rdx, str.Char
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x1400107e7
mov esi, 0x398
test r14d, r14d
je 0x140010620
mov rcx, qword [r13 + 8]
call fcn.14005f6b0
mov r14, rax
test rax, rax
je 0x14001064b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + VariantCopy]
mov rcx, qword [rsi + rbx]
test rcx, rcx
je 0x14001061c
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rsi + rbx], r14
mov rcx, qword [rsi + rbx]
test rcx, rcx
je 0x1400107e0
mov rax, qword [rcx]
call qword [rax + VariantCopy]
mov rax, qword [rsi + rbx]
mov qword [rdi], rax
mov eax, 1
mov dword [rdi + 0x10], 6
jmp 0x1400107ec
mov rcx, qword [r13 + 8]
call fcn.14005f140
test eax, eax
jne 0x14001060d
mov r8, rbp
lea rdx, str.Invalid_value.
lea rcx, [0x1401072b0]
call fcn.1400395f0
jmp 0x1400107ec
lea rdx, str.MinSendLevel
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x1400106b1
test r14d, r14d
je 0x140010699
mov rcx, qword [r13 + 8]
xor edx, edx
call fcn.14005f200
mov byte [rbx + 0x6c], al
movzx eax, byte [rbx + 0x6c]
mov qword [rdi], rax
mov eax, 1
mov dword [rdi + 0x10], 1
jmp 0x1400107ec
lea rdx, str.Timeout
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010720
test r14d, r14d
je 0x1400106fa
mov rcx, qword [r13 + 8]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.14005f2a0
cmp dword [rbx + 0x10], 1
lea rcx, [rbx + 0x10]
mulsd xmm0, qword [0x1400edbe8]
cvttsd2si eax, xmm0
mov dword [rbx + 0x64], eax
jne 0x1400106fa
test eax, eax
jle 0x1400106fa
call fcn.14003fe10
movd xmm0, dword [rbx + 0x64]
mov eax, 1
cvtdq2pd xmm0, xmm0
mov dword [rdi + 0x10], 2
divsd xmm0, qword [0x1400edbe8]
movsd qword [rdi], xmm0
jmp 0x1400107ec
lea rdx, str.BackspaceIsUndo
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010739
add rbx, 0x6d
jmp 0x1400107b4
lea rdx, str.CaseSensitive
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010752
add rbx, 0x6e
jmp 0x1400107b4
lea rdx, str.FindAnywhere
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x14001076b
add rbx, 0x73
jmp 0x1400107b4
lea rdx, str.VisibleText
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x140010784
add rbx, 0x70
jmp 0x1400107b4
lea rdx, str.VisibleNonText
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x14001079d
add rbx, 0x71
jmp 0x1400107b4
lea rdx, str.NotifyNonText
mov rcx, rsi
call fcn.1400ab8c0
test eax, eax
jne 0x1400107e7
add rbx, 0x72
test rbx, rbx
je 0x1400107e7
test r14d, r14d
je 0x1400107d3
mov rcx, qword [r13 + 8]
mov edx, 0x41
call fcn.14005edd0
test eax, eax
setne al
mov byte [rbx], al
movzx eax, byte [rbx]
mov qword [rdi], rax
mov dword [rdi + 0x10], 1
mov eax, 1
jmp 0x1400107ec
mov eax, 4
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r12
pop rdi
pop rbp
pop rbx
ret