Function at 0x180002cb0
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
sub rsp, 0xe0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x58], xmm8
movaps xmm8, xmm1
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rsp + 0x40], xmm14
mov qword [rax + 0x10], rbp
mov ebp, r9d
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov rdi, r8
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
movaps xmmword [rax - 0x48], xmm7
movaps xmm7, xmm0
movaps xmmword [rax - 0x78], xmm11
movabs rax, qword [0x141e4f8e0]
movaps xmmword [rsp + 0x60], xmm12
movaps xmmword [rsp + 0x50], xmm13
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movss xmm6, dword [0x18000a1f8]
movaps xmm2, xmm8
movss xmm11, dword [0x18000a148]
movaps xmm3, xmm6
mov dword [rsp + 0x30], 0
movaps xmm1, xmm7
mov rcx, qword [rax + 0x530]
mov dword [rsp + 0x28], 0xff000000
movss dword [rsp + 0x20], xmm11
mov rax, qword [rcx]
call qword [rax + 0x50]
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
movss xmm0, dword [0x18000a10c]
movaps xmm3, xmm6
movss dword [rsp + 0x28], xmm0
movaps xmm2, xmm8
movaps xmm1, xmm7
movss dword [rsp + 0x20], xmm11
mov rcx, qword [rax + 0x530]
call fcn.180001b80
movabs rax, qword [0x141e4f8e0]
lea r14, [0x180009368]
movss xmm13, dword [0x18000a128]
lea r15, [0x18000936c]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
cmp ebp, 3
je 0x180003064
mov dword [rsp + 0xf0], 0xffffffff
call rdx
mov ecx, dword [rsp + 0xf0]
movaps xmm6, xmm8
movss xmm14, dword [0x18000a11c]
movaps xmm1, xmm7
addss xmm1, dword [0x18000a180]
movss xmm10, dword [0x18000a134]
addss xmm6, xmm14
movaps xmm3, xmm10
mov qword [rsp + 0x30], r14
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 0x530]
subss xmm1, xmm13
movaps xmm2, xmm6
movd r9d, xmm3
movd r8d, xmm2
movd edx, xmm1
call fcn.180001ca0
movabs rax, qword [0x141e4f8e0]
mov dword [rsp + 0xf0], 0xffffffff
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
mov ecx, dword [rsp + 0xf0]
movaps xmm0, xmm8
movss xmm12, dword [0x18000a118]
movaps xmm1, xmm7
addss xmm1, dword [0x18000a1d8]
addss xmm0, xmm12
mov qword [rsp + 0x30], r15
movaps xmm3, xmm10
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 0x530]
addss xmm1, xmm13
movd r9d, xmm3
movaps xmm2, xmm0
movss dword [rsp + 0x108], xmm0
movd r8d, xmm2
movd edx, xmm1
call fcn.180001ca0
movabs rax, qword [0x141e4f8e0]
mov dword [rsp + 0xf0], 0xffffffff
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
mov rcx, qword [rsp + 0x110]
movaps xmm1, xmm7
addss xmm1, dword [0x18000a194]
mov qword [rsp + 0x30], rcx
movaps xmm3, xmm10
mov ecx, dword [rsp + 0xf0]
movaps xmm2, xmm6
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 0x530]
movd edx, xmm1
movd r9d, xmm3
movd r8d, xmm2
call fcn.180001ca0
cmp ebp, 1
jne 0x180002f73
mov eax, dword [rdi]
test eax, eax
jne 0x180002f56
lea rbx, [0x180009370]
mov esi, ebp
jmp 0x18000314b
cmp eax, 1
lea rbx, [0x180009380]
mov esi, 1
cmovne rbx, qword [rsp + 0x128]
jmp 0x18000314b
cmp ebp, 2
jne 0x180002fd8
mov eax, dword [rdi]
test eax, eax
jne 0x180002f8f
lea rbx, [0x180009390]
mov esi, 3
jmp 0x18000314b
cmp eax, 1
jne 0x180002fa5
lea rbx, [0x1800093a0]
mov esi, 3
jmp 0x18000314b
cmp eax, 2
jne 0x180002fbb
lea rbx, [0x1800093b0]
mov esi, 3
jmp 0x18000314b
cmp eax, 3
lea rbx, [0x1800093c8]
mov esi, 3
cmovne rbx, qword [rsp + 0x128]
jmp 0x18000314b
cmp ebp, 7
jne 0x180003027
mov eax, dword [rdi]
test eax, eax
jne 0x180002ff4
lea rbx, str.Auto
mov esi, 2
jmp 0x18000314b
cmp eax, 1
jne 0x18000300a
lea rbx, [0x1800093e8]
mov esi, 2
jmp 0x18000314b
cmp eax, 2
lea rbx, [0x180009400]
mov esi, 2
cmovne rbx, qword [rsp + 0x128]
jmp 0x18000314b
cmp ebp, 5
jne 0x18000313c
mov eax, dword [rdi]
test eax, eax
jne 0x180003047
lea rbx, [0x180009418]
mov esi, 1
jmp 0x18000314b
cmp eax, 1
lea rbx, [0x180009428]
mov esi, 1
cmovne rbx, qword [rsp + 0x128]
jmp 0x18000314b
call rdx
mov rcx, qword [rsp + 0x110]
movaps xmm2, xmm8
movss xmm14, dword [0x18000a11c]
movaps xmm1, xmm7
addss xmm1, dword [0x18000a120]
movss xmm10, dword [0x18000a134]
addss xmm2, xmm14
mov qword [rsp + 0x30], rcx
movaps xmm3, xmm10
mov dword [rsp + 0xf0], 0xffffffff
mov ecx, dword [rsp + 0xf0]
movd edx, xmm1
movd r8d, xmm2
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 0x530]
movd r9d, xmm3
call fcn.180001ca0
movss xmm2, dword [rsp + 0x120]
movaps xmm0, xmm8
movss xmm3, dword [rsp + 0x118]
movaps xmm1, xmm8
movss xmm12, dword [0x18000a118]
addss xmm1, dword [0x18000a114]
addss xmm0, xmm12
mov qword [rsp + 0x30], rdi
movss dword [rsp + 0x28], xmm2
movss xmm2, dword [0x18000a1c8]
movss dword [rsp + 0x20], xmm3
movss xmm3, dword [0x18000a13c]
movss dword [rsp + 0x108], xmm0
movaps xmm0, xmm7
addss xmm0, dword [0x18000a1a8]
call fcn.180002440
mov esi, dword [rsp + 0xf0]
mov rbx, qword [rsp + 0x128]
movss xmm2, dword [0x18000a1b8]
movaps xmm3, xmm11
movaps xmm1, xmm8
movaps xmm0, xmm7
call fcn.180001e40
test al, al
je 0x180003240
cmp ebp, 3
je 0x1800031e1
movabs rax, qword [0x141e4f8e0]
mov dword [rsp + 0xf0], 0xff0000ff
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
mov ecx, dword [rsp + 0xf0]
movaps xmm1, xmm7
addss xmm1, dword [0x18000a180]
movaps xmm2, xmm8
mov qword [rsp + 0x30], r14
addss xmm2, xmm12
mov byte [rsp + 0x28], 0
movaps xmm3, xmm10
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 0x530]
subss xmm1, xmm13
movd r9d, xmm3
movd r8d, xmm2
movd edx, xmm1
call fcn.180001ca0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x180003239
cmp byte [0x18000c378], 0
je 0x18000321a
cmp dword [0x18000c37c], 0
je 0x180003240
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x18000c37c]
add ecx, 0x3e8
cmp ecx, eax
ja 0x180003240
mov byte [0x18000c378], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18000c37c], eax
mov eax, dword [rdi]
test eax, eax
je 0x180003240
dec eax
mov dword [rdi], eax
jmp 0x180003240
mov byte [0x18000c378], 0
movss xmm2, dword [0x18000a1b8]
movaps xmm6, xmm7
addss xmm6, dword [0x18000a1b8]
movaps xmm3, xmm11
movaps xmm1, xmm8
movaps xmm0, xmm6
call fcn.180001e40
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm11, xmmword [rsp + 0x70]
mov r14, qword [rsp + 0xc8]
test al, al
je 0x180003358
cmp ebp, 3
je 0x1800032f5
movabs rax, qword [0x141e4f8e0]
mov dword [rsp + 0xf0], 0xff0000ff
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
addss xmm7, dword [0x18000a1d8]
mov edx, dword [rsp + 0xf0]
movaps xmm3, xmm10
movss xmm2, dword [rsp + 0x108]
mov rcx, qword [rax + 0x530]
mov qword [rsp + 0x30], r15
addss xmm7, xmm13
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], edx
movd r9d, xmm3
movd r8d, xmm2
movaps xmm1, xmm7
movd edx, xmm1
call fcn.180001ca0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt eax, 0xf
jae 0x180003351
cmp byte [0x18000c378], 0
je 0x18000332e
cmp dword [0x18000c37c], 0
je 0x180003358
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x18000c37c]
add ecx, 0x3e8
cmp ecx, eax
ja 0x180003358
mov byte [0x18000c378], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x18000c37c], eax
mov eax, dword [rdi]
test eax, eax
js 0x180003358
cmp eax, esi
jge 0x180003358
inc eax
mov dword [rdi], eax
jmp 0x180003358
mov byte [0x18000c378], 0
movaps xmm13, xmmword [rsp + 0x50]
cmp ebp, 3
mov rbp, qword [rsp + 0xf8]
movaps xmm7, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xd8]
je 0x1800033f7
movabs rax, qword [0x141e4f8e0]
mov rcx, qword [rax + 0xc8]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x70]
call rdx
addss xmm6, dword [0x18000a15c]
addss xmm8, xmm14
mov qword [rsp + 0x30], rbx
movaps xmm3, xmm10
mov dword [rsp + 0xf0], 0xffffffff
mov ecx, dword [rsp + 0xf0]
mov byte [rsp + 0x28], 0
movaps xmm1, xmm6
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax + 0x530]
movaps xmm2, xmm8
movd r8d, xmm2
movd edx, xmm1
movd r9d, xmm3
call fcn.180001ca0
movaps xmm14, xmmword [rsp + 0x40]
lea r11, [rsp + 0xe0]
movaps xmm6, xmmword [r11 - 0x30]
movaps xmm8, xmmword [r11 - 0x50]
movaps xmm10, xmmword [r11 - 0x60]
mov rsp, r11
pop rbx
ret